CVE-2025-69970
JavaScript vulnerability analysis and mitigation

Overview

CVE-2025-69970 is an insecure default configuration vulnerability in FUXA v1.2.7, an open-source web-based SCADA/HMI application. The secureEnabled flag in server/settings.default.js is commented out by default, causing the application to initialize with authentication entirely disabled. This allows unauthenticated remote attackers to access sensitive API endpoints, modify industrial projects, and control connected industrial equipment immediately after installation. It was published on February 3, 2026, and carries a CVSS v3.1 base score of 9.3 (Critical) (Red Hat CVE, FUXA GitHub).

Technical details

The root cause is classified as CWE-1188 (Insecure Default Initialization of Resource) and CWE-79 (Cross-Site Scripting), stemming from the application shipping with authentication controls commented out in its default configuration file. Specifically, the lines //secureEnabled: true, //secretCode: '', and related token settings in server/settings.default.js are all commented out, meaning the application starts without enforcing any authentication on its API endpoints (FUXA GitHub). An attacker with network access to the FUXA server (default port 1881) requires no credentials, no prior account, and no special privileges — only the ability to reach the exposed web interface. The XSS classification (CWE-79) suggests additional attack surface via stored or reflected script injection through the unauthenticated API (Red Hat CVE).

Impact

Successful exploitation allows unauthenticated remote attackers to fully interact with the FUXA SCADA/HMI platform, including reading sensitive project configurations (high confidentiality impact), modifying industrial automation projects and control logic (high integrity impact), and directly commanding connected industrial equipment such as PLCs and field devices. Because FUXA is designed for operational technology (OT) environments, exploitation could result in physical process disruption, equipment damage, or safety incidents in industrial settings. The CVSS scope is marked as Changed, reflecting that the impact extends beyond the application itself to the underlying industrial systems it controls (Red Hat CVE).

Exploitability

No public proof-of-concept exploit code has been identified, and there is no confirmed evidence of in-the-wild exploitation at this time (Red Hat CVE). The EPSS score is approximately 0.044%, indicating a currently low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. However, the trivial exploitation preconditions — no authentication, no special tools required, network-accessible by default — make this a high-risk configuration issue for any internet-exposed FUXA deployment. The vulnerability is detected by Qualys (detection ID 5007411) and tracked in the GitLab advisory database for the fuxa-server npm package.

Exploitation steps

  1. Reconnaissance: Identify internet-facing FUXA instances using Shodan or Censys by searching for the default port 1881 or the FUXA web interface banner. Confirm the target is running FUXA v1.2.7.
  2. Verify authentication bypass: Send an unauthenticated HTTP GET or POST request to a sensitive API endpoint (e.g., /api/project or /api/device) on port 1881. If the server responds with data rather than a 401/403 error, authentication is disabled.
  3. Enumerate project data: Query available API endpoints to retrieve project configurations, device definitions, tag mappings, and communication settings for connected industrial equipment.
  4. Modify project or control equipment: Issue authenticated-equivalent API calls to modify SCADA project logic, alter tag values, or send control commands to connected PLCs or field devices — all without any credentials.
  5. Optional XSS persistence: If the application renders user-supplied input in the web UI, inject malicious scripts via project names, tag labels, or other fields to establish persistent XSS payloads targeting operators who access the interface (FUXA GitHub, Red Hat CVE).

Indicators of compromise

  • Network: Unexpected HTTP requests to FUXA port 1881 from external or untrusted IP addresses; API calls to endpoints such as /api/project, /api/device, or /api/tags from unauthenticated sources; unusual outbound connections from the FUXA host to unknown IPs.
  • Logs: FUXA access logs (Morgan format) showing API endpoint access without authentication tokens or session cookies; repeated GET/POST requests to sensitive API paths from a single external IP; absence of login events preceding API activity.
  • File System: Unexpected modifications to project files or configuration files in the FUXA data directory; new or altered project definitions not initiated by known operators.
  • Process: Unusual child processes spawned by the FUXA Node.js process; unexpected changes to connected device configurations or tag values in the FUXA database (_db directory).

Mitigation and workarounds

No vendor patch has been released for this specific CVE as of the available data. The primary mitigation is to manually enable authentication by uncommenting and configuring the secureEnabled: true flag in server/settings.default.js, along with setting a strong secretCode and appropriate tokenExpiresIn values before deployment (FUXA GitHub). Additionally, restrict network access to the FUXA server (port 1881) using firewall rules, allowing only trusted internal hosts. Organizations should audit all existing FUXA v1.2.7 deployments for unauthorized access and consider placing the application behind a VPN or network access control until a patched version is available.

Community reactions

The vulnerability was noted by The Hacker Wire and discussed briefly on Bluesky social media. Loginsoft published a threat intelligence summary referencing CVE-2025-69970 in the context of advanced threat campaigns targeting core ecosystems. Red Hat tracked the CVE in their security advisory database. No major vendor statements or significant researcher deep-dives have been identified beyond initial disclosure and aggregator coverage.

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-54504HIGH8.8
  • JavaScript logoJavaScript
  • @andrea9293/mcp-documentation-server
NoYesSep 17, 2026
CVE-2026-77615HIGH8.7
  • JavaScript logoJavaScript
  • paella-core
NoYesSep 17, 2026
CVE-2026-91127HIGH8.2
  • JavaScript logoJavaScript
  • @file-viewer/doc
NoYesSep 18, 2026
CVE-2026-77301HIGH7.5
  • JavaScript logoJavaScript
  • adm-zip
NoYesSep 18, 2026
CVE-2026-84992MEDIUM6.1
  • JavaScript logoJavaScript
  • md-editor-v3
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management