This is not a burglar picking your front-door lock, it is one tenant discovering the master key cabinet in the hallway
CVE-2026-48172 is an incorrect privilege assignment bug in the LiteSpeed User-End cPanel Plugin's Redis enable/disable path, specifically the lsws.redisAble function. LiteSpeed says versions 2.3 through 2.4.4 are at risk; LiteSpeed first patched it in 2.4.5, then pushed broader follow-up hardening in 2.4.6/2.4.7, with WHM plugin 5.3.1.0 bundling cPanel plugin 2.4.7. Successful abuse lets a cPanel user run arbitrary scripts as root on the host.
The vendor's 9.8/CRITICAL framing overstates the reachable attack surface because this is not actually PR:N in the real world. An attacker needs a valid cPanel account, a compromised tenant, or some other foothold on a shared host first. That said, the downgrade stops at HIGH, not lower, because this lands as root, hits an often internet-facing hosting stack, and is already KEV-listed with active exploitation.
4 steps from start to impact.
Get any cPanel foothold
- Target uses LiteSpeed with the vulnerable User-End cPanel Plugin installed
- Attacker has a valid cPanel account or control of one tenant account
- Affected feature is exposed in the account's cPanel environment
- This is authenticated remote, not pre-auth internet spray-and-win
- Enterprises that do not run cPanel or do not expose shared hosting workflows are out of scope
- cPanel or hoster feature lists may hide the plugin from many accounts
Call the vulnerable API path
lsws.redisAble. Per LiteSpeed and NVD, the bug mishandles Redis enable/disable features and turns a user-level action into arbitrary script execution. Weaponization does not require memory corruption or a race; it is a privilege-boundary failure.- User account can reach the LiteSpeed plugin API path
- Plugin version is vulnerable
- Redis management code path is present
- If the user-end plugin was auto-removed or manually uninstalled, the path is gone
- Hosts that disabled auto-install or removed the cPanel feature cut off exploitation cleanly
- Some environments may not expose the Redis management UI to all packages
cpanel_jsonapi_func=redisAble; this is the best low-noise retrospective indicator in the vendor advisory.Execute attacker-controlled code as root
- Step 2 succeeds
- Underlying host permits root-level script execution from the plugin flow
- EDR is uncommon on shared-hosting Linux fleets, but where present it may catch post-exploitation behaviors
- Some containerized or heavily sandboxed hosting models may reduce secondary blast radius
/var/log/secure or /var/log/auth.log, shell histories, cron, authorized_keys, and suspicious files under /tmp, /var/tmp, and tenant web roots.Persist and monetize the host
- Root execution obtained
- Attacker has time before containment
- Fast hoster response and mass plugin removal reduce dwell time
- Good file-integrity and auth-log review can expose persistence quickly
redisAble log hits.The supporting signals.
| In-the-wild status | Confirmed active exploitation by the vendor, and CISA KEV-listed. |
|---|---|
| KEV status | Added to CISA KEV on 2026-05-26; NVD reflects a due date of 2026-05-29 for federal remediation guidance. |
| Proof-of-concept availability | I did not find a high-confidence public exploit repo in primary-source review, but the advisory provides enough detail for straightforward reproduction once an attacker has a cPanel account. Treat this as easily weaponizable even without a polished GitHub PoC. |
| EPSS | User-supplied EPSS is 0.07956. That is not the main driver here because KEV and vendor-confirmed exploitation outweigh a middling predictive score. |
| CVSS and what it gets wrong | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H models this like pre-auth remote compromise. Reality is closer to authenticated remote privilege escalation from a tenant foothold. |
| Affected versions | Vendor advisory says cPanel User-End Plugin 2.3 through 2.4.4. NVD also notes CPEs up to excluding 2.4.7, reflecting the later follow-up hardening cycle. |
| Fixed versions | Initial fix landed in 2.4.5. LiteSpeed then released 2.4.6 and recommends cPanel plugin 2.4.7 bundled with WHM plugin 5.3.1.0 or later after a broader security review. |
| Exposure population | This is not general enterprise middleware; it is a hosting-control-panel edge case. But the population that *does* run it is inherently internet-facing and multi-tenant, which amplifies blast radius per affected host. |
| Internet prevalence context | W3Techs reports LiteSpeed on 15.3% of known-web-server websites and cPanel on 2.1% of known-web-panel websites, so the vulnerable combo is niche compared with Apache/Nginx estates, but far from rare in hosting. |
| Reporter | LiteSpeed credits David Strydom in the vendor advisory. |
noisgate verdict.
The decisive friction is attacker position: exploitation requires a valid cPanel user foothold, so this is not a true internet-wide pre-auth RCE despite the vendor-style scoring. It stays HIGH because once that low-privilege foothold exists, the jump to root on a shared internet-facing Linux host is short, proven, and already being exploited.
Why this verdict
- Downgrade from 9.8: the published vector treats this like
PR:N, but LiteSpeed explicitly says any cPanel user can exploit it. That is authenticated remote privilege escalation, not pure pre-auth internet RCE. - Keep it HIGH: the privilege jump is straight to root, so one weak tenant or one stolen hosting credential can burn the entire server and every account on it.
- KEV overrides complacency: CISA KEV listing and vendor-confirmed exploitation mean attackers are already proving the prerequisite is easy enough in the field.
Why not higher?
I am not calling this CRITICAL because the main exposure gate is real and meaningful: the attacker must first land a valid cPanel user context on a server that both runs LiteSpeed and still has the vulnerable user-end plugin present. That narrows the reachable population substantially versus true unauthenticated edge RCEs like VPNs, firewalls, or pre-auth admin-panel bugs.
Why not lower?
I am not dropping this to MEDIUM because the outcome is root, not a limited user-context bug, and the target class is inherently internet-facing shared hosting where compromised tenant accounts are common enough to matter. KEV status removes the usual argument that the precondition is too theoretical.
What to do — in priority order.
- Uninstall the user-end plugin — If you cannot prove every host is already on cPanel plugin 2.4.7 / WHM plugin 5.3.1.0 or later, remove the user-end plugin with LiteSpeed's uninstall path immediately, within hours because this CVE is actively exploited and KEV-listed. This is the cleanest temporary kill-switch for the vulnerable attack surface.
- Disable auto-install — Set the LiteSpeed cPanel plugin auto-install state to off immediately, within hours so normal updates do not quietly reintroduce the user-end component on cleaned hosts. This matters in large fleets where image drift and nightly update behavior create re-exposure.
- Restrict the cPanel feature list — Remove access to the LiteSpeed user-facing feature from packages that do not need it immediately, within hours. Even after patching, reducing the number of reachable tenants shrinks the post-compromise privilege-escalation path.
- Hunt for
redisAblelog hits — Run the vendor grep across/var/cpanel/logsand/usr/local/cpanel/logsimmediately, within hours. Any hit means you should treat the host as potentially compromised and investigate for root persistence, SSH keys, cron, and webshell artifacts. - Rotate secrets on hit systems — Where the grep or host review indicates possible abuse, rotate server- and tenant-level credentials immediately, within hours because root access means config secrets, database credentials, and SSH material may already be exposed.
- A perimeter WAF does not solve this reliably because the attack is an authenticated control-panel workflow, not a simple public web exploit pattern.
- MFA on admin/WHM only is insufficient; the vulnerable hop is through a tenant cPanel account, not necessarily a privileged admin login.
- Generic OS patch compliance dashboards often miss this because the vulnerable object is a LiteSpeed/cPanel plugin component, not a standard distro package.
Crowdsourced verification payload.
Run this on each cPanel host as root. Save it as check-cve-2026-48172.sh and execute bash check-cve-2026-48172.sh; it needs root to read cPanel/LiteSpeed paths and logs. The script returns VULNERABLE, PATCHED, or UNKNOWN and exits 1, 0, or 2 respectively.
#!/usr/bin/env bash
# check-cve-2026-48172.sh
# Detect likely exposure to CVE-2026-48172 on a cPanel/LiteSpeed host.
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -u
log_hits=0
plugin_present=0
cpanel_ver=""
whm_ver=""
status="UNKNOWN"
reason=""
ver_ge() {
# returns 0 if $1 >= $2
[ "$(printf '%s\n%s\n' "$2" "$1" | sort -V | head -n1)" = "$2" ]
}
ver_lt() {
# returns 0 if $1 < $2
! ver_ge "$1" "$2"
}
# 1) Retrospective exploitation signal from vendor/NVD guidance
if grep -rEqs 'cpanel_jsonapi_func=redisAble' /var/cpanel/logs /usr/local/cpanel/logs 2>/dev/null; then
log_hits=1
fi
# 2) Detect whether the user-end cPanel plugin looks installed
for d in \
/usr/local/cpanel/base/frontend/jupiter/ls_web_cache_manager \
/usr/local/cpanel/base/frontend/paper_lantern/ls_web_cache_manager \
/usr/local/cpanel/base/frontend/*/ls_web_cache_manager; do
if [ -d "$d" ]; then
plugin_present=1
break
fi
done
# 3) Try to discover cPanel plugin version from likely files/paths
cpanel_ver=$(grep -RhoE '2\.[0-9]+(\.[0-9]+){1,2}' \
/usr/local/cpanel/base/frontend/*/ls_web_cache_manager \
/usr/local/cpanel/whostmgr/docroot/cgi/lsws \
/usr/local/lsws 2>/dev/null | sort -V | tail -n1)
# 4) Try to discover WHM plugin version from likely files/paths
whm_ver=$(grep -RhoE '5\.[0-9]+(\.[0-9]+){1,2}' \
/usr/local/cpanel/whostmgr/docroot/cgi/lsws \
/usr/local/lsws 2>/dev/null | sort -V | tail -n1)
# 5) Decision logic
if [ "$log_hits" -eq 1 ]; then
status="VULNERABLE"
reason="Exploit indicator found in cPanel logs: cpanel_jsonapi_func=redisAble"
elif [ "$plugin_present" -eq 0 ]; then
status="PATCHED"
reason="User-end LiteSpeed cPanel plugin not found"
elif [ -n "$whm_ver" ] && ver_ge "$whm_ver" "5.3.1.0"; then
status="PATCHED"
reason="WHM plugin version appears to be $whm_ver (>= 5.3.1.0)"
elif [ -n "$cpanel_ver" ] && ver_ge "$cpanel_ver" "2.4.7"; then
status="PATCHED"
reason="cPanel plugin version appears to be $cpanel_ver (>= 2.4.7)"
elif [ -n "$cpanel_ver" ] && ver_lt "$cpanel_ver" "2.4.5"; then
status="VULNERABLE"
reason="cPanel plugin version appears to be $cpanel_ver (< 2.4.5)"
elif [ -n "$cpanel_ver" ] && { [ "$cpanel_ver" = "2.4.5" ] || [ "$cpanel_ver" = "2.4.6" ]; }; then
status="UNKNOWN"
reason="Found cPanel plugin version $cpanel_ver; vendor first fixed in 2.4.5 but later recommended 2.4.7 after additional review"
else
status="UNKNOWN"
reason="Could not reliably determine plugin version from host files"
fi
printf 'status=%s\n' "$status"
printf 'reason=%s\n' "$reason"
printf 'plugin_present=%s\n' "$plugin_present"
printf 'cpanel_plugin_version=%s\n' "${cpanel_ver:-not_found}"
printf 'whm_plugin_version=%s\n' "${whm_ver:-not_found}"
printf 'redisAble_log_hits=%s\n' "$log_hits"
case "$status" in
PATCHED)
echo "PATCHED"
exit 0
;;
VULNERABLE)
echo "VULNERABLE"
exit 1
;;
*)
echo "UNKNOWN"
exit 2
;;
esac
If you remember one thing.
redisAble log hunt the same day. Then finish actual version remediation fleet-wide under the noisgate remediation SLA for a HIGH finding, which is within 180 days, though any still-exposed internet hosts should be cleaned up far sooner than that.Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.