Like giving every hotel guest a master key to every room, the elevator shaft, and the boiler room
CVE-2026-67401 is a SQL injection vulnerability in cPanel & WHM's EmailTrack feature — the subsystem that monitors and logs email delivery activity. An authenticated cPanel account holder with mail-related privileges can inject malicious SQL through EmailTrack, allowing arbitrary file creation on the underlying server. Because cPanel's internal daemons run with elevated privileges, this file-write primitive chains directly into code execution as root. All supported cPanel/WHM release tiers prior to the September 2026 patches are affected: 11.110.x < 11.110.0.143, 11.134.x < 11.134.0.55, 11.136.x < 11.136.0.39, 11.138.x < 11.138.0.4, and WP2 < 11.138.1.9.
No vendor CVSS score has been published, so there is no official severity baseline to compare against. However, the impact profile — authenticated SQLi escalating to root on a multi-tenant hosting server — places this squarely in HIGH territory. In shared hosting environments, the authentication requirement is nearly cosmetic: any paying customer (or anyone who buys a $5/month hosting plan) gets a cPanel account with mail privileges enabled by default. The blast radius is severe — root on a shared hosting server means access to every tenant's files, databases, email, and credentials. cPanel's own recent history with CVE-2026-41940 (auth bypass, 44,000 servers compromised, 64-day zero-day window) shows that cPanel vulns attract real attacker attention at scale.
4 steps from start to impact.
Obtain cPanel credentials
- Target server runs cPanel/WHM with EmailTrack enabled
- Attacker can obtain or already holds a cPanel account
- Enterprise-managed cPanel deployments may restrict account creation
- MFA on cPanel login adds a layer, though adoption is low on shared hosting
Inject SQL via EmailTrack
- Valid cPanel session with mail privileges
- Vulnerable cPanel version (pre-patch)
- No public PoC exists yet, requiring the attacker to independently discover the injectable parameter
- Web Application Firewalls (e.g., ModSecurity with cPanel rules) may block obvious SQLi payloads
Write malicious file to disk
SELECT ... INTO OUTFILE or equivalent MySQL/MariaDB primitives), the attacker writes a webshell, cron job, or other payload to a location where it will be executed with elevated privileges. Common targets include cPanel hook directories, cron spool directories, or PHP-accessible document roots.- MySQL/MariaDB user used by EmailTrack has FILE privilege or equivalent write capability
- Target directory is writable by the database process
- AppArmor/SELinux in enforcing mode may restrict MySQL's write targets
- Some hardened hosting stacks disable FILE privilege for application-level MySQL users
Execute payload as root
- Written file lands in a path monitored/executed by a root-owned cPanel daemon
- No mandatory access control (SELinux/AppArmor) blocks execution
- CageFS (CloudLinux) can limit initial lateral movement from the tenant's filesystem context
- Properly configured SELinux can prevent the daemon from executing unexpected files
The supporting signals.
| In-the-Wild Exploitation | No active exploitation reported as of 2026-09-09. Not listed in CISA KEV. |
|---|---|
| Proof-of-Concept | None public. No PoC code on GitHub, Exploit-DB, or researcher blogs. Injectable parameter not disclosed. |
| EPSS Score | Not yet scored — CVE published 2026-09-08, likely too new for EPSS model ingestion. |
| KEV Status | Not listed. No CISA KEV entry as of 2026-09-09. |
| CVSS Vector (estimated) | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H — estimated 9.9 pre-friction. Vendor published no score. |
| Affected Versions | All cPanel/WHM: 11.110.x < .143, 11.134.x < .55, 11.136.x < .39, 11.138.x < .4, WP2 < 11.138.1.9 |
| Fixed Versions | 11.110.0.143, 11.134.0.55, 11.136.0.39, 11.138.0.4, WP2 11.138.1.9 |
| Exposure Footprint | Censys: ~1.05M cPanel/WHM instances internet-exposed (May 2026 scan). Shodan/Rapid7: ~1.5M. |
| Disclosure Date | 2026-09-08 (cPanel advisory) |
| Credited Researchers | Ali Mustafa (rz1027) and abed1526 |
noisgate verdict.
The single most decisive factor is the multi-tenant blast radius: cPanel is canonically shared-hosting infrastructure, and root compromise means every tenant on the server — potentially hundreds of sites, databases, and email accounts — is fully owned. The authentication requirement (any cPanel account with default mail privileges) provides meaningful but thin friction that prevents a CRITICAL assessment, since no PoC exists and an attacker must independently weaponize the chain.
Why this verdict
- Authentication barrier is thin, not thick: cPanel is shared-hosting software — any customer paying $5/month gets an account with mail privileges. This is not 'requires domain admin' friction; it is 'requires a credit card' friction. Downward pressure exists but is minimal (~0.5 points).
- Role multiplier (multi-tenant hosting server): cPanel's canonical deployment IS the high-value role. ≥90% of cPanel instances serve multiple tenants. Root on a shared host = compromise of all tenants' files, databases, email, and SSL private keys. Blast radius is tenant→server-wide, potentially affecting hundreds of customers per host. This sets a floor of HIGH.
- Massive exposure surface: Over 1 million cPanel instances are directly internet-exposed per Censys/Shodan. This is not a niche product — it is the dominant hosting control panel. The reachable population is enormous.
- No PoC or active exploitation (yet): The CVE is <48 hours old with no public exploit code. This is the primary factor preventing a CRITICAL assessment. However, cPanel's track record (CVE-2026-41940 was weaponized within weeks) suggests this window may close quickly.
- cPanel's recent exploitation history is alarming: CVE-2026-41940 (auth bypass) led to 44,000 compromised servers and a 64-day zero-day window. Attackers are actively targeting cPanel infrastructure, making future exploitation of this SQLi chain plausible.
Why not higher?
A CRITICAL assessment would require either active exploitation, a public PoC, or unauthenticated access. CVE-2026-67401 requires a valid cPanel account (albeit easy to obtain in shared hosting), and no weaponized exploit exists yet. The chain also involves multiple steps (SQLi → file write → daemon execution) that SELinux/CageFS can interrupt, adding real defensive surface that CRITICAL vulns typically lack.
Why not lower?
A MEDIUM assessment would require either limited blast radius or significant exploitation friction. Neither applies here: root on a multi-tenant server is catastrophic blast radius, the auth requirement is nearly cosmetic in shared hosting, and over 1 million instances are internet-exposed. cPanel's recent history of mass exploitation (CVE-2026-41940) demonstrates that attackers actively target this software at scale.
What to do — in priority order.
- Force-update cPanel immediately via
/usr/local/cpanel/scripts/upcp --force— This is the definitive fix. cPanel's auto-update mechanism should have pulled the patch already, but force-updating confirms it. Deploy within 30 days per noisgate mitigation SLA for HIGH, though given the multi-tenant blast radius, same-week is strongly recommended. - Audit and restrict mail privileges on cPanel accounts — Review all cPanel accounts and disable EmailTrack / mail-related privileges for accounts that do not require them. This eliminates the prerequisite for exploitation on those accounts.
- Enable ModSecurity with OWASP or Comodo rulesets — ModSecurity with current SQLi detection rules can catch many injection payloads targeting EmailTrack parameters, providing a detection-and-block layer while patching is staged.
- Deploy CageFS (CloudLinux) or equivalent filesystem isolation — CageFS virtualizes the filesystem for each cPanel user, limiting the attacker's ability to write files to system directories even if the SQLi succeeds. This breaks the file-write-to-root chain.
- Enable SELinux in enforcing mode — SELinux policies can prevent MySQL/MariaDB from writing to unexpected directories and prevent cPanel daemons from executing files outside their expected paths, breaking two links in the exploit chain.
- Enforce MFA on all cPanel account logins — Raises the bar for credential-based account access, making it harder for attackers to obtain the authenticated session needed to reach the vulnerable EmailTrack interface.
- IP-based access restrictions on cPanel port (2083) — helps for external attackers but does not stop a legitimate tenant from exploiting the flaw from within their own authenticated session.
- Disabling email service (Exim/Dovecot) — EmailTrack is a cPanel UI/backend feature, not part of the MTA itself. Disabling the mail server does not necessarily disable the EmailTrack interface.
- Network-level WAF (e.g., Cloudflare) — cPanel management interfaces typically run on port 2083/2087 and are not proxied through CDN/WAF services. The WAF only protects port 80/443 traffic.
Crowdsourced verification payload.
Run this script on each cPanel server as root (or via sudo). It checks the installed cPanel build number against the patched versions. Example: sudo bash check_cve_2026_67401.sh
#!/usr/bin/env bash
# check_cve_2026_67401.sh — Detect CVE-2026-67401 (cPanel EmailTrack SQLi)
# Run as root on the target cPanel/WHM server.
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN
set -euo pipefail
VERSION_FILE="/usr/local/cpanel/version"
if [ ! -f "$VERSION_FILE" ]; then
echo "UNKNOWN — cPanel not detected on this host (no $VERSION_FILE)"
exit 2
fi
VERSION=$(cat "$VERSION_FILE" | tr -d '[:space:]')
echo "Detected cPanel version: $VERSION"
# Extract major.minor.micro.build
IFS='.' read -r MAJOR MINOR MICRO BUILD <<< "$VERSION"
# Normalize to integers, default to 0 if empty
MAJOR=${MAJOR:-0}
MINOR=${MINOR:-0}
MICRO=${MICRO:-0}
BUILD=${BUILD:-0}
# Patched versions per tier:
# 11.110.0.143, 11.134.0.55, 11.136.0.39, 11.138.0.4
check_patched() {
local major=$1 minor=$2 micro=$3 build=$4
if [ "$major" -eq 11 ]; then
case $minor in
110) [ "$build" -ge 143 ] && return 0 ;;
134) [ "$build" -ge 55 ] && return 0 ;;
136) [ "$build" -ge 39 ] && return 0 ;;
138)
# Check if WP2 channel (build >= 1000 range) or standard
if [ "$micro" -eq 1 ]; then
# WP2 channel: need >= 11.138.1.9
[ "$build" -ge 9 ] && return 0
else
# Standard: need >= 11.138.0.4
[ "$build" -ge 4 ] && return 0
fi
;;
*)
# Version tier > 138 assumed patched
[ "$minor" -gt 138 ] && return 0
;;
esac
elif [ "$major" -gt 11 ]; then
return 0
fi
return 1
}
if check_patched "$MAJOR" "$MINOR" "$MICRO" "$BUILD"; then
echo "PATCHED — cPanel $VERSION is at or above the fix for CVE-2026-67401."
exit 0
else
echo "VULNERABLE — cPanel $VERSION is below the patched build. Update immediately:"
echo " /usr/local/cpanel/scripts/upcp --force"
exit 1
fiIf you remember one thing.
/usr/local/cpanel/scripts/upcp --force on each host or confirm auto-update has pulled the September 8 patches (11.110.0.143 / 11.134.0.55 / 11.136.0.39 / 11.138.0.4 / WP2 11.138.1.9). Under the noisgate mitigation SLA for HIGH, compensating controls (restrict mail privileges, enable ModSecurity, enforce MFA on cPanel logins) should be in place within 30 days. Under the noisgate remediation SLA, the actual patch must be applied within 180 days — but given cPanel's recent mass-exploitation history with CVE-2026-41940, treat this as a same-week priority. Audit all cPanel accounts for unnecessary mail privileges and remove them. If you run shared hosting, this is especially urgent: every tenant account is a potential attack origin, and root compromise exposes all tenants on the server.Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.