CVE-2025-43921
Executive Summary
CVE-2025-43921 describes a reported vulnerability in GNU Mailman 2.1.39 as bundled in cPanel and WHM. The claim is that unauthenticated attackers can create mailing lists via the /mailman/create endpoint. However, multiple third parties have been unable to reproduce this issue, and the vendor has not confirmed or patched it. The CVSS score is 5.3 (Medium), with a low EPSS probability (0.0%). This report analyzes the claim, provides detection guidance, and outlines mitigation steps despite the disputed nature of the vulnerability.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It involves GNU Mailman, a Python-based mailing list manager, bundled within cPanel/WHM. The supply chain risk is low, but organizations using cPanel should verify their Mailman configuration.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Base Score: 5.3 (Medium)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: None
- Integrity Impact: Low (list creation)
- Availability Impact: None
Threat Level: Medium. The impact is limited to unauthorized list creation, which could lead to spam or phishing campaigns. The disputed nature reduces confidence.
Deep Dive & Mechanics
The vulnerability allegedly allows an unauthenticated attacker to send a POST request to /mailman/create with parameters like listname, admin_password, and admin_email to create a new mailing list. GNU Mailman 2.1.39 typically requires authentication for this action, but the claim suggests that cPanel's integration may have misconfigured access controls.
Root Cause: If true, the issue stems from missing authentication checks on the /mailman/create endpoint. The endpoint may be exposed without proper session validation or CSRF protection.
Attack Flow:
- Attacker identifies a target running cPanel with Mailman enabled.
- Attacker sends a crafted POST request to
http://target/cpanel/mailman/create(or similar path). - If unauthenticated, the list is created, allowing the attacker to manage it.
- The attacker can then use the list for spam or phishing.
Disputed Status: Multiple third parties report inability to reproduce, suggesting the issue may be environment-specific or require additional conditions (e.g., specific cPanel version, misconfiguration).
Vulnerable vs. Patched Code
Since no patch exists and the vulnerability is disputed, a code comparison is not possible. However, a hypothetical vulnerable configuration would lack authentication checks:
Vulnerable (hypothetical):
# mailman/create endpoint without auth
def create_list():
listname = request.form['listname']
password = request.form['admin_password']
# No authentication check
create_mailing_list(listname, password)
Patched (hypothetical):
# mailman/create endpoint with auth
def create_list():
if not is_authenticated(request):
return "Authentication required", 403
listname = request.form['listname']
password = request.form['admin_password']
create_mailing_list(listname, password)
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target running cPanel with Mailman enabled.
- Network access to the
/mailman/createendpoint.
Exploitation Steps:
- Identify the Mailman endpoint (e.g.,
http://target/cpanel/mailman/create). - Send a POST request with list parameters:
curl -X POST http://target/cpanel/mailman/create \
-d "listname=testlist" \
-d "admin_password=password123" \
-d "admin_email=attacker@example.com"
- If successful, the list is created. Verify by accessing the list admin page.
Note: This exploit is based on the unconfirmed claim. Actual exploitation may fail.
Blue Team
Detection:
- Monitor for POST requests to
/mailman/createfrom unauthenticated sources. - Alert on creation of new mailing lists outside normal administrative activity.
- Review Mailman logs for unauthorized list creation events.
Hunting:
- Search for
listnameandadmin_passwordparameters in HTTP POST requests. - Check for anomalous list names (e.g., random strings, common spam terms).
Indicators of Compromise (IOCs)
- Network: POST requests to
/mailman/createwith parameterslistname,admin_password,admin_email. - Logs: Mailman logs showing list creation from unexpected IPs.
- Files: New list directories under
/usr/local/cpanel/3rdparty/mailman/lists/(or similar path). - Email: Spam or phishing emails originating from newly created lists.
Detection Engineering
YARA Rule
rule CVE_2025_43921_Mailman_List_Creation {
meta:
description = "Detects unauthorized list creation attempts via /mailman/create"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-43921"
strings:
$s1 = "/mailman/create" ascii wide nocase
$s2 = "listname=" ascii wide nocase
$s3 = "admin_password=" ascii wide nocase
condition:
all of them
}
Sigma Rule
title: Unauthorized Mailman List Creation Attempt
id: 8f4a2b1c-3d5e-4f6a-7b8c-9d0e1f2a3b4c
status: experimental
description: Detects POST requests to /mailman/create without authentication
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/mailman/create'
cs-uri-query|contains: 'listname='
condition: selection
falsepositives:
- Legitimate administrative actions
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-43921 Mailman Unauthenticated List Creation"; flow:to_server; content:"POST"; http_method; content:"/mailman/create"; http_uri; content:"listname="; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Restrict access to
/mailman/createusing web server ACLs or firewall rules. - Ensure Mailman is configured to require authentication for list creation.
- Disable Mailman if not needed:
whmapi1 uninstall_feature feature=mailman.
Long-term:
- Monitor cPanel updates for a potential patch.
- Implement Web Application Firewall (WAF) rules to block unauthenticated POST requests to
/mailman/create. - Conduct regular security audits of cPanel configurations.
Workaround:
- Add an
.htaccessfile to the Mailman directory to require authentication:
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/mailman/htpasswd
Require valid-user
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.