Medium

FUXA has SQL Injection in its TDengine DAQ connector via backslash bypass of escapeTdString

  • Disclosed: 08.06.2026
  • Updated: 11.10.2026 10:22

Summary

The TDengine DAQ storage connector's escapeTdString at server/runtime/storage/tdengine/index.js:10 doubles single quotes but does not escape backslashes. TDengine's SQL parser treats \' as a literal single quote inside a string, so a tag id of the form x\' OR 1=1-- escapes the first single quote, lets the doubled quote close the string, and appends an injected clause that runs on the TDengine server. An attacker (Alice) sends the crafted sids value through GET /api/daq or the Socket.IO DAQ_QUERY event and reads every row in fuxa.meters, which holds the historical tag values of every PLC the FUXA instance records.

Details

The TDengine DAQ storage connector did not correctly sanitize user-controlled values before including them in SQL queries.

A specially crafted tag identifier could bypass the intended escaping logic and alter the query executed against the TDengine database.

This could allow unauthorized access to historical DAQ data stored in TDengine, including recorded tag values and related metadata.

The issue has been fixed in version 1.3.2 by improving input escaping in the TDengine connector.

Impact

An attacker with network access to a FUXA instance configured with TDengine as the DAQ backend reads the entire historical tag-value archive: every PLC tag the instance has recorded, plus the associated device ids and device names. Turning on authentication does not close the gap: the Socket.IO DAQ_QUERY handler has no authorization check, and /api/daq accepts guest-level requests. No login is needed in the default configuration.

CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N (Medium, 5.3). CWE-89.

A fix is available at https://github.com/frangoteam/FUXA/releases/tag/v1.3.2.


Found by aisafe.io

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package fuxa-server <= 1.1.14-1243 no fix

References

CVSS score 5.3/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness (CWE)
CWE-89
Platform
npm
Package
fuxa-server
Disclosed
08.06.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-h9fj-c2qr-76g2 - CC BY 4.0

Vulnerability history: fuxa-server

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (21) in the archive
Total entries
21
First → latest
09.2023 06.2026
Without a fix
9
Exploited in attacks
0

Severity breakdown

  • Critical 8
  • High 10
  • Medium 3

Disclosures per year

  1. 2023: 3
  2. 2024: 0
  3. 2025: 0
  4. 2026: 18
Severity:
  1. FUXA has SQL Injection in its TDengine DAQ connector via backslash bypass of escapeTdString this entry
    Medium · 5.3 CVE-2026-47720 <= 1.1.14-1243 no fix
  2. High CVE-2026-25951 < 1.2.11 1.2.11
  3. Critical CVE-2026-25939 >= 1.2.8, < 1.2.11 1.2.11
  4. Critical CVE-2026-25938 >= 1.2.8, < 1.2.11 1.2.11
  5. Critical CVE-2026-25752 < 1.2.10 1.2.10
  6. Critical CVE-2026-25751 < 1.2.10 1.2.10
  7. High CVE-2025-69981 <= 1.2.7 no fix
  8. Critical · 9.8 CVE-2023-31719 <= 1.1.12 no fix
  9. High · 7.5 CVE-2023-31718 <= 1.1.12 no fix
  10. High · 7.5 CVE-2023-31717 <= 1.1.12 no fix

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.