CVE-2025-58430

6.1 MEDIUM

📋 TL;DR

listmonk versions up to 1.1.0 include a nonce parameter in HTTP requests that isn't validated by the backend, allowing requests to be processed without it. This can be chained with other vulnerabilities like CSRF and XSS to create improper admin accounts. All self-hosted listmonk instances running vulnerable versions are affected.

💻 Affected Systems

Products:
  • listmonk
Versions: Up to and including 1.1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations of affected versions are vulnerable. The vulnerability exists in the core application logic.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers chain this with CSRF and XSS to create unauthorized admin accounts, gaining full control over the newsletter/mailing list system and potentially accessing sensitive subscriber data.

🟠

Likely Case

Attackers exploit this as part of a multi-step attack to gain administrative privileges, allowing them to manipulate mailing lists, send unauthorized emails, or access subscriber information.

🟢

If Mitigated

With proper web application firewalls and input validation, the risk is reduced to minor session management issues with limited impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires chaining with other vulnerabilities (CSRF/XSS) and some authentication context. No public exploit code is available at time of advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check GitHub advisory for latest patched version

Vendor Advisory: https://github.com/knadh/listmonk/security/advisories/GHSA-rf24-wg77-gq7w

Restart Required: No

Instructions:

1. Check the GitHub security advisory for the latest patched version. 2. Update listmonk to the patched version. 3. Verify the fix by testing that nonce validation is properly implemented.

🔧 Temporary Workarounds

Implement CSRF Protection

all

Add proper CSRF tokens to all state-changing requests and validate them server-side.

Enable WAF Rules

all

Configure web application firewall to detect and block requests missing required parameters or showing suspicious patterns.

🧯 If You Can't Patch

  • Isolate listmonk instance behind authentication proxy with strict access controls
  • Implement network segmentation to limit which systems can communicate with listmonk

🔍 How to Verify

Check if Vulnerable:

Check if listmonk version is 1.1.0 or earlier. Test by making HTTP requests without the nonce parameter and see if they're processed normally.

Check Version:

Check listmonk version in admin interface or via application logs

Verify Fix Applied:

After updating, verify that requests without proper nonce validation are rejected by the backend.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests missing nonce parameter but still being processed successfully
  • Multiple failed authentication attempts followed by successful admin account creation

Network Indicators:

  • Unusual patterns of requests to admin endpoints without proper session validation
  • Requests from unexpected sources to account creation endpoints

SIEM Query:

source="listmonk" AND (uri_path="/admin/*" OR uri_path="/api/*") AND (missing_field="nonce" OR status=200 AND missing_field="nonce")

🔗 References

📤 Share & Export