CVE-2025-54134

6.5 MEDIUM

📋 TL;DR

HAX CMS NodeJS versions 11.0.8 and below crash when authenticated attackers send API requests missing required URL parameters to listFiles and saveFiles endpoints. This denial-of-service vulnerability affects systems running vulnerable HAX CMS NodeJS installations. The crash occurs due to improper exception handling when user-modifiable URL parameters are missing.

💻 Affected Systems

Products:
  • HAX CMS NodeJS
Versions: 11.0.8 and below
Operating Systems: All platforms running Node.js
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with authenticated API access enabled; requires attacker to have valid authentication credentials.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption making HAX CMS NodeJS backend unavailable, potentially affecting all microsite management functionality until service restart.

🟠

Likely Case

Targeted denial-of-service attacks causing intermittent service crashes and availability issues for HAX CMS users.

🟢

If Mitigated

Minimal impact with proper input validation and error handling in place; service remains available with graceful error responses.

🌐 Internet-Facing: MEDIUM - Requires authenticated access but can be exploited remotely to cause service disruption.
🏢 Internal Only: MEDIUM - Authenticated internal users could intentionally or accidentally crash the service.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is technically simple - sending malformed API requests to vulnerable endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 11.0.9

Vendor Advisory: https://github.com/haxtheweb/issues/security/advisories/GHSA-pjj3-j5j6-qj27

Restart Required: Yes

Instructions:

1. Backup current installation. 2. Update HAX CMS NodeJS to version 11.0.9 or later. 3. Restart the Node.js service. 4. Verify the update was successful.

🔧 Temporary Workarounds

Input Validation Middleware

all

Add middleware to validate required URL parameters before reaching vulnerable endpoints

// Add parameter validation in Express middleware
app.use('/api/listFiles', validateParams(['requiredParam1', 'requiredParam2']));
app.use('/api/saveFile', validateParams(['requiredParam1', 'requiredParam2']));

Rate Limiting

all

Implement rate limiting on API endpoints to limit impact of repeated exploitation attempts

npm install express-rate-limit
const rateLimit = require('express-rate-limit');
const apiLimiter = rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100
});
app.use('/api/', apiLimiter);

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block malformed API requests missing required parameters
  • Restrict API access to trusted IP addresses only and implement stricter authentication requirements

🔍 How to Verify

Check if Vulnerable:

Check package.json for HAX CMS NodeJS version; if version is 11.0.8 or below, system is vulnerable

Check Version:

grep '"version"' package.json | head -1

Verify Fix Applied:

After updating to 11.0.9+, test API endpoints with missing parameters; should return proper error responses instead of crashing

📡 Detection & Monitoring

Log Indicators:

  • Node.js process crashes/restarts
  • Error logs showing unhandled exceptions in listFiles or saveFiles routes
  • Repeated API requests with missing parameters from same authenticated user

Network Indicators:

  • HTTP 500 responses from /api/listFiles or /api/saveFile endpoints
  • Sudden service unavailability following API requests

SIEM Query:

source="application.log" AND ("listFiles" OR "saveFile") AND ("unhandled exception" OR "crash" OR "process exit")

🔗 References

📤 Share & Export