CVE-2024-3187

5.9 MEDIUM

📋 TL;DR

CVE-2024-3187 involves memory corruption vulnerabilities (Use After Free and Double Free) in Goahead web server when JavaScript templates are processed. Attackers with JST file modification privileges can exploit these to cause denial of service or potentially execute code. Affects Goahead versions ≤6.0.0 with the ME_GOAHEAD_JAVASCRIPT flag enabled.

💻 Affected Systems

Products:
  • Goahead Web Server
Versions: ≤6.0.0
Operating Systems: All platforms running Goahead
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when ME_GOAHEAD_JAVASCRIPT flag is enabled during compilation.

⚠️ 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

Remote code execution leading to complete system compromise, though this requires specific memory layout conditions and is unlikely.

🟠

Likely Case

Denial of service through application crashes or instability from memory corruption.

🟢

If Mitigated

Limited impact if proper access controls prevent unauthorized JST file modifications.

🌐 Internet-Facing: MEDIUM - Requires ME_GOAHEAD_JAVASCRIPT flag enabled and attacker access to modify JST files.
🏢 Internal Only: MEDIUM - Same requirements as internet-facing, but internal attackers may have easier access to modify files.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires attacker to have privileges to modify JST template files and the ME_GOAHEAD_JAVASCRIPT flag must be enabled.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 6.0.1 or later

Vendor Advisory: https://www.nozominetworks.com/labs/vulnerability-advisories-cve-2024-3187

Restart Required: Yes

Instructions:

1. Download Goahead version 6.0.1 or later from official sources. 2. Replace existing installation with patched version. 3. Restart the Goahead service.

🔧 Temporary Workarounds

Disable JavaScript Template Support

linux

Recompile Goahead without ME_GOAHEAD_JAVASCRIPT flag to disable vulnerable feature

./configure --disable-goahead-javascript
make clean
make
make install

Restrict JST File Permissions

linux

Set strict file permissions to prevent unauthorized modification of JST template files

chmod 640 *.jst
chown root:www-data *.jst

🧯 If You Can't Patch

  • Implement strict access controls on JST template directories to prevent unauthorized modifications
  • Deploy web application firewall (WAF) rules to detect and block suspicious JST template requests

🔍 How to Verify

Check if Vulnerable:

Check Goahead version with 'goahead -v' or examine binary/configuration for ME_GOAHEAD_JAVASCRIPT flag

Check Version:

goahead -v

Verify Fix Applied:

Confirm version is 6.0.1 or later and verify JST template functionality works without crashes

📡 Detection & Monitoring

Log Indicators:

  • Multiple memory allocation/deallocation errors
  • Goahead process crashes or restarts
  • Unusual JST template file modifications

Network Indicators:

  • Abnormal HTTP requests to JST template endpoints
  • Repeated connection attempts followed by service disruption

SIEM Query:

source="goahead.log" AND ("segmentation fault" OR "double free" OR "use after free")

🔗 References

📤 Share & Export