Cloudanix VulnDB

CVE-2022-44877

Critical · 9.8 CISA KEV

CVSS

9.8

EPSS

100.0%

Published

Jan 5, 2023

CISA due date

Feb 7, 2023

Cloudanix analysis

Act now SSVC: Attend

An attacker can take over an unpatched web hosting control panel simply by sending a specially crafted login request.

Active In The Wild Wormable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Trivial
Impact
Remote Code Execution
Component
Application
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2022-44877 is an unauthenticated OS command injection vulnerability in the Control Web Panel login handler, login/index.php. The vulnerable code passes the login parameter into a shell context without safely neutralizing shell metacharacters, allowing a remote attacker to inject commands using characters such as $(), backticks, semicolons, or pipes. Because exploitation requires only network access to the web login page and no valid credentials, successful exploitation can result in arbitrary command execution with the privileges of the web panel service, commonly enabling full server compromise, credential theft, malware deployment, persistence, and lateral movement.

Why it matters to the business

A vulnerable Control Web Panel instance can be taken over remotely through its login page, putting hosted websites, control panel accounts, email services, databases, certificates, and server credentials at risk. The vulnerability has a critical CVSS score of 9.8, an EPSS score near 1.0, is listed in CISA KEV with a remediation deadline of 2023-02-07, and has been actively exploited in the wild for an extended period, making internet-facing unpatched systems high-priority exposure. Compromise can lead to service outages, data theft, website defacement, spam or phishing infrastructure abuse, cryptomining, botnet enrollment, and costly incident response or rebuild activity.

How an attack unfolds

An attacker first identifies an internet-accessible Control Web Panel login interface. They then send a crafted HTTP request to /login/index.php where the login parameter contains shell metacharacters and an embedded operating system command. The vulnerable application fails to sanitize the input before using it in a shell execution path, causing the injected command to run on the server. Attackers commonly start with reconnaissance commands such as id, whoami, uname, or hostname to confirm execution, then use curl, wget, bash, python, perl, or netcat to download payloads, open a reverse shell, install web shells, create new users or SSH keys, disable logging, or deploy malware. Because this vulnerability has been actively exploited in the wild and appears in the CISA Known Exploited Vulnerabilities catalog, defenders should assume exposed unpatched systems may already have been probed or compromised.

How to fix it

Upgrade Control Web Panel to version 0.9.8.1147 or later immediately. If the built-in updater is used, run the vendor-supported update process and confirm the installed version after completion. If immediate patching is not possible, restrict access to the Control Web Panel interface to trusted administrative IP addresses through a firewall, VPN, reverse proxy allowlist, or management network; block public access to /login/index.php; and monitor aggressively for exploitation attempts. Because active exploitation is known, patching alone is not sufficient for systems that were exposed while vulnerable: review for compromise, rotate panel, system, database, email, SSH, and API credentials, remove unauthorized users and SSH keys, inspect cron jobs and startup scripts, and consider rebuilding from trusted media if compromise is suspected.

How to confirm the fix worked

Confirm the installed Control Web Panel version is 0.9.8.1147 or later and that the login endpoint is no longer vulnerable to shell metacharacter injection. Validate externally that the management interface is not publicly reachable unless intentionally exposed and protected by strong access controls. Review web server, CWP service, authentication, process execution, and command audit logs for requests to /login/index.php containing encoded or raw shell metacharacters in the login parameter. Where safe and authorized, use a non-destructive test payload that attempts to inject a benign command and verify that it is rejected, logged, or treated as literal input rather than executed. Confirm that no unexpected processes, cron entries, SSH keys, user accounts, web-accessible scripts, or downloaded payloads remain on the server.

Typical attack path

  1. Scan the internet or a target range for exposed Control Web Panel login pages.
  2. Send a crafted request to /login/index.php with shell metacharacters in the login parameter.
  3. Execute a simple validation command such as id, whoami, uname, or curl to confirm command execution.
  4. Establish interactive access using a reverse shell or by downloading a second-stage payload with curl or wget.
  5. Escalate privileges if needed, harvest configuration files, credentials, hosting data, and control panel secrets.
  6. Create persistence through cron jobs, SSH keys, new users, web shells, or modified startup scripts.
  7. Use the compromised server for data theft, website tampering, spam, proxying, cryptomining, or further attacks.

How to detect it

Investigate web access logs, CWP service logs, reverse proxy logs, WAF logs, EDR telemetry, Linux audit logs, shell history, cron files, authentication logs, and network egress telemetry. Focus on requests to /login/index.php where the login parameter contains command substitution, backticks, semicolons, pipes, URL-encoded shell metacharacters, or commands such as id, whoami, uname, curl, wget, bash, sh, python, perl, nc, chmod, crontab, useradd, or echo. Review whether the web panel service spawned unexpected child processes, especially shells or download utilities. Look for outbound connections shortly after suspicious login requests, new files in web-accessible directories, newly created users, added SSH authorized_keys entries, modified cron jobs, changed startup scripts, and unexplained processes such as miners, reverse shells, or unknown daemons. Because exploitation is actively observed in the wild, absence of a failed login event is not sufficient; inspect raw HTTP request logs and process execution telemetry around the time of suspicious requests.

  • /login/index.php
  • POST /login/index.php
  • GET /login/index.php?login=
  • login=$(
  • login=%24%28
  • login=`
  • login=%60
  • login=;
  • login=%3B
  • login=|
  • login=%7C
  • login=$(id)
  • login=%24%28id%29
  • login=$(whoami)
  • login=$(uname
  • login=$(curl
  • login=$(wget
  • login=$(bash
  • login=$(sh
  • login=$(python
  • login=$(perl
  • /usr/local/cwpsrv/logs/access_log
  • /usr/local/cwpsrv/logs/error_log
  • bash -c
  • sh -i
  • /bin/bash -i
  • /bin/sh -i
  • nc -e
  • netcat -e
  • python -c 'import pty'
  • perl -e 'use Socket'
  • curl http
  • wget http
  • chmod +x
  • crontab -e
  • /root/.ssh/authorized_keys
  • /etc/cron.d/
  • /var/spool/cron/
  • /tmp/
  • /var/tmp/

What your security team should do

  • Treat internet-facing Control Web Panel instances below version 0.9.8.1147 as emergency-risk assets and patch or isolate them immediately.
  • Prioritize remediation because the vulnerability is in CISA KEV, has observed in-the-wild exploitation, and has an EPSS score of 0.99995.
  • Restrict Control Web Panel administrative access to trusted IP ranges or VPN-only access even after patching.
  • Perform compromise assessment on any system that was exposed while vulnerable, focusing on command execution, payload download, persistence, and credential theft artifacts.
  • Rotate credentials stored on or managed by the affected server, including panel users, root or sudo credentials, SSH keys, hosting account passwords, database credentials, mail credentials, and API tokens.
  • Search historical logs for exploit patterns targeting /login/index.php and for post-exploitation commands such as curl, wget, bash reverse shells, netcat, python, perl, chmod, crontab, and user creation.
  • Rebuild affected servers from known-good images if there is evidence of successful command execution or persistence.
  • Add SIEM detections and WAF rules for shell metacharacters in the login parameter of /login/index.php.
  • Verify backups are clean and available before making major changes, especially for hosting environments with many downstream websites or accounts.

The record

login/index.php in CWP (aka Control Web Panel or CentOS Web Panel) 7 before 0.9.8.1147 allows remote attackers to execute arbitrary OS commands via shell metacharacters in the login parameter.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities