CVE-2025-3544

8.0 HIGH

📋 TL;DR

This critical vulnerability in H3C Magic routers allows authenticated attackers on the local network to execute arbitrary commands via command injection in the FCGI_CheckStringIfContainsSemicolon function. The exploit targets the HTTP POST request handler in the /api/wizard/getCapabilityWeb endpoint, potentially giving attackers full control of affected devices. Organizations using H3C Magic NX15, NX30 Pro, NX400, R3010, or BE18000 routers with firmware up to V100R014 are affected.

💻 Affected Systems

Products:
  • H3C Magic NX15
  • H3C Magic NX30 Pro
  • H3C Magic NX400
  • H3C Magic R3010
  • H3C Magic BE18000
Versions: Up to V100R014
Operating Systems: Embedded router firmware
Default Config Vulnerable: ⚠️ Yes
Notes: Requires local network access; authenticated access to the web interface is needed for exploitation.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the router allowing attackers to intercept all network traffic, deploy malware to connected devices, pivot to internal networks, and maintain persistent access.

🟠

Likely Case

Attackers gain administrative control of the router, enabling traffic interception, DNS manipulation, credential theft, and lateral movement within the network.

🟢

If Mitigated

With proper network segmentation and access controls, impact is limited to the router itself, though attackers could still disrupt network services.

🌐 Internet-Facing: LOW
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploit code has been publicly disclosed; requires authentication but attack is straightforward once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after V100R014

Vendor Advisory: https://www.h3c.com/cn/Service/Document_Software/Software_Download/Consume_product/

Restart Required: Yes

Instructions:

1. Visit H3C support website 2. Download firmware newer than V100R014 for your specific model 3. Log into router admin interface 4. Navigate to firmware upgrade section 5. Upload and apply new firmware 6. Reboot router

🔧 Temporary Workarounds

Network Segmentation

all

Isolate router management interface to dedicated VLAN with strict access controls

Access Restriction

all

Implement IP whitelisting for router management interface

🧯 If You Can't Patch

  • Segment router management interface to dedicated VLAN with strict firewall rules
  • Implement network monitoring for suspicious POST requests to /api/wizard/getCapabilityWeb endpoint

🔍 How to Verify

Check if Vulnerable:

Check router firmware version via admin interface; if version is V100R014 or earlier, device is vulnerable

Check Version:

Login to router web interface and check System Information or Firmware Version page

Verify Fix Applied:

After upgrade, verify firmware version is newer than V100R014 and test that POST requests to vulnerable endpoint no longer execute commands

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /api/wizard/getCapabilityWeb
  • Multiple failed authentication attempts followed by successful login
  • Commands containing semicolons in POST parameters

Network Indicators:

  • Unusual outbound connections from router
  • POST requests to router with command injection patterns

SIEM Query:

source="router_logs" AND (uri="/api/wizard/getCapabilityWeb" AND method="POST" AND (param="*;*" OR param="*|*" OR param="*`*"))

🔗 References

📤 Share & Export