CVE-2026-47720
Received Received - Intake

SQL Injection in FUXA via TDengine DAQ Connector

Vulnerability report for CVE-2026-47720, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-18

Last updated on: 2026-08-18

Assigner: GitHub, Inc.

Description

FUXA is a web-based Process Visualization (SCADA/HMI/Dashboard) software. Prior to 1.3.2, the TDengine DAQ storage connector's escapeTdString function in server/runtime/storage/tdengine/index.js doubles single quotes but does not escape backslashes. A remote unauthenticated attacker can submit a crafted sids tag identifier through GET /api/daq or the Socket.IO DAQ_QUERY event so TDengine interprets the backslash and quote sequence as SQL syntax. The injected query can return every row from fuxa.meters, exposing historical PLC tag values, device identifiers, and device names even when FUXA authentication is enabled. This issue is fixed in version 1.3.2.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-18
Last Modified
2026-08-18
Generated
2026-08-19
AI Q&A
2026-08-19
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
fuxa fuxa to 1.3.2 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a SQL injection vulnerability in FUXA, a web-based SCADA/HMI software. The issue is in the TDengine DAQ storage connector where the escapeTdString function only doubles single quotes but fails to escape backslashes. This allows attackers to craft malicious tag identifiers that bypass the escaping logic and inject SQL queries.

Detection Guidance

Check FUXA version with GET /api/version or inspect server/runtime/storage/tdengine/index.js for the escapeTdString function. Look for unusual DAQ queries or Socket.IO DAQ_QUERY events with crafted tag identifiers containing backslashes and quotes.

Impact Analysis

An unauthenticated remote attacker can exploit this to access historical PLC tag values, device identifiers, and device names stored in the TDengine database. The attack can be performed via GET /api/daq or Socket.IO DAQ_QUERY event without authentication, even if FUXA authentication is enabled.

Mitigation Strategies

Upgrade FUXA to version 1.3.2 or later. If upgrading is not possible, review and modify the escapeTdString function to escape backslashes before single quotes. Block unauthenticated access to GET /api/daq and Socket.IO DAQ_QUERY events.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-47720. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart