CVE-2024-55653

6.5 MEDIUM

📋 TL;DR

This vulnerability in PwnDoc allows authenticated users to crash the backend server by triggering an unhandled promise rejection during audit operations. This causes the entire application to become unavailable for all users. The vulnerability affects all PwnDoc installations up to version 0.5.3.

💻 Affected Systems

Products:
  • PwnDoc (pwndoc/pwndoc)
Versions: All versions up to and including 0.5.3
Operating Systems: All platforms running PwnDoc
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user access; no special configuration needed to be vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service for all users, requiring manual restart of the PwnDoc backend service and potential data loss if unsaved reports are being worked on.

🟠

Likely Case

Temporary service disruption affecting all users until the backend is manually restarted, disrupting penetration testing report generation workflows.

🟢

If Mitigated

Limited impact with proper monitoring and automated restart mechanisms in place, though service interruptions may still occur.

🌐 Internet-Facing: HIGH if exposed to the internet, as any authenticated user can trigger the crash remotely.
🏢 Internal Only: MEDIUM for internal deployments, as authenticated users can still cause service disruption but attack surface is limited to internal network.

🎯 Exploit Status

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

Exploitation requires authenticated access but is simple to execute by sending malformed audit requests.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: https://github.com/pwndoc/pwndoc/security/advisories/GHSA-ggqg-3f7v-c8rc

Restart Required: Yes

Instructions:

No official patch available. Monitor GitHub repository for updates and apply when released.

🔧 Temporary Workarounds

Implement request validation middleware

all

Add input validation to reject malformed audit requests before they reach the vulnerable code path.

# Requires modifying PwnDoc source code to add validation

Use process monitoring with auto-restart

linux

Configure process monitoring (like PM2, systemd, or supervisor) to automatically restart PwnDoc if it crashes.

# Example PM2 configuration: pm2 start app.js --name pwndoc --watch
# systemd: systemctl enable pwndoc.service

🧯 If You Can't Patch

  • Restrict user access to only trusted personnel who need to create/edit audit reports.
  • Implement network segmentation to isolate PwnDoc instances from general user networks.

🔍 How to Verify

Check if Vulnerable:

Check PwnDoc version; if version is 0.5.3 or earlier, the system is vulnerable.

Check Version:

Check package.json or docker image tag; for running instance, check web interface or API response headers.

Verify Fix Applied:

When patch becomes available, verify version is greater than 0.5.3 and test audit functionality with malformed requests.

📡 Detection & Monitoring

Log Indicators:

  • UnhandledPromiseRejection warnings in logs
  • Backend process termination/crash logs
  • Multiple failed audit requests from same user

Network Indicators:

  • Sudden drop in application responsiveness
  • HTTP 500 errors on audit endpoints
  • Increased failed API calls to /api/audits/*

SIEM Query:

source="pwndoc.logs" AND ("UnhandledPromiseRejection" OR "process.exit" OR "backend crashed")

🔗 References

📤 Share & Export