CVE-2022-24223
Critical · 9.8CVSS
9.8
EPSS
62.0%
Published
Feb 1, 2022
CISA due date
—
Cloudanix analysis
A vulnerable website login page can let attackers break into or steal data from the site without needing a password.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- SQL Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
CVE-2022-24223 is an unauthenticated SQL injection vulnerability in AtomCMS v2.0 affecting the /admin/login.php endpoint. Because the vulnerable component is the administrative login flow and the CVSS vector indicates network access, low complexity, no privileges, and no user interaction, an attacker can send crafted HTTP parameters to alter backend SQL queries. Successful exploitation may allow unauthorized database reads, modification or deletion of records, authentication bypass depending on query structure, extraction of administrator password hashes or session-related data, and potentially further compromise of the web application if database access can be used to change application content or configuration.
Why it matters to the business
A publicly reachable vulnerable AtomCMS installation can expose sensitive website, user, and administrative data and may allow attackers to take control of site content or disrupt availability. With a critical CVSS score of 9.8, high EPSS probability, and weaponized exploit maturity, internet-facing systems should be treated as high-priority even though this vulnerability is not currently listed in CISA KEV. Operational consequences can include website defacement, loss of trust, data breach response costs, regulatory exposure if personal data is stored in the CMS, credential reuse risk from stolen hashes, and downtime if the database is damaged or wiped.
How an attack unfolds
An attacker first identifies an AtomCMS v2.0 instance and confirms that /admin/login.php is accessible over the network. They then submit crafted input to the login request, typically in username, password, or related authentication parameters, containing SQL syntax that changes the intended query logic. Initial payloads may test for SQL error messages, timing differences, Boolean responses, or authentication bypass behavior. After confirming injection, the attacker enumerates the database schema, extracts administrative user records or password hashes, and may attempt to log in as an administrator. If the database account has broad privileges, the attacker may modify CMS content, create or alter administrative accounts, implant malicious scripts into editable pages/templates, or delete data to cause disruption. Further activity may include credential stuffing against other services, web shell placement if the CMS or database permits file writes, and persistence through hidden admin users or modified site assets.
How to fix it
There is no fixed version provided in the available advisory data. Organizations should immediately remove AtomCMS v2.0 from internet exposure where possible, restrict access to /admin/login.php by VPN, IP allowlisting, or web server authentication, and plan migration to a maintained CMS or a vendor-confirmed patched release if one becomes available. As compensating controls, deploy a WAF rule set that blocks common SQL injection payloads against /admin/login.php, disable verbose SQL/application errors, ensure the database account used by the CMS has least-privilege permissions, and rotate credentials stored in or used by the CMS after remediation. If source code can be modified, replace dynamic SQL string concatenation in the login logic with parameterized prepared statements and server-side input validation. Back up the application and database before changes, and review whether compromise has already occurred before restoring trust in the system.
How to confirm the fix worked
Confirm exposure by inventorying AtomCMS deployments and verifying whether version v2.0 is present and whether /admin/login.php is reachable from untrusted networks. Validate mitigation by confirming that unauthenticated requests to /admin/login.php are blocked or restricted, WAF controls are active, and test SQL injection strings such as single quotes, Boolean conditions, UNION SELECT probes, and time-delay functions no longer alter responses, produce SQL errors, or cause measurable delays. If code changes are applied, perform a focused secure code review to verify prepared statements are used for all login queries. Run authenticated and unauthenticated dynamic application security testing against the login endpoint, and verify that database users used by the CMS cannot write files, create privileged database users, or perform unnecessary administrative operations.
Typical attack path
- Discover an internet-facing AtomCMS site and fingerprint the version or behavior consistent with v2.0.
- Access /admin/login.php and identify injectable login parameters.
- Send SQL injection test payloads and observe errors, Boolean changes, timing delays, or login bypass indicators.
- Use automated or manual SQL injection techniques to enumerate database names, tables, and columns.
- Extract administrator credentials, password hashes, user records, CMS configuration, or other sensitive database contents.
- Attempt administrator authentication using bypassed logic, cracked hashes, or modified database records.
- Modify content, create privileged accounts, implant malicious JavaScript or server-side code where possible, or disrupt the database.
- Cover tracks by deleting or altering logs, rotating payloads, and maintaining persistence through hidden accounts or modified CMS assets.
How to detect it
To determine whether exploitation already occurred, review HTTP access logs, reverse proxy logs, WAF events, application logs, database query logs, authentication logs, and file integrity monitoring data for activity targeting /admin/login.php. Focus on unauthenticated POST requests containing SQL metacharacters, Boolean operators, UNION-based enumeration, SQL comments, encoded payloads, and time-delay functions. Look for abnormal login successes following suspicious failed attempts, administrator logins from unfamiliar IP addresses or geographies, newly created or modified administrator accounts, large or unusual database reads, database errors returned during login attempts, and changes to CMS pages, templates, uploads, or configuration files. Database logs may show SELECTs against metadata tables, administrator credential tables, or unexpected UPDATE/INSERT statements affecting users or content. Web server artifacts may include spikes in requests to /admin/login.php, repeated parameter tampering, non-browser user agents, requests from scanning infrastructure, and payloads that are URL-encoded to evade simple filters. If compromise is suspected, preserve logs and a forensic copy of the webroot and database before cleanup, compare database and file contents against known-good backups, and rotate credentials after containment.
- /admin/login.php
- UNION SELECT
- union select
- SLEEP(
- sleep(
- BENCHMARK(
- benchmark(
- WAITFOR DELAY
- waitfor delay
- OR 1=1
- or 1=1
- ' OR '1'='1
- " OR "1"="1
- --
- %27%20OR%20%271%27%3D%271
- %22%20OR%20%221%22%3D%221
- information_schema
- INFORMATION_SCHEMA
- mysql.user
- You have an error in your SQL syntax
- SQL syntax
- Warning: mysqli
- mysqli_fetch
- mysql_fetch
- PDOException
- admin/login.php?
- POST /admin/login.php
What your security team should do
- Treat internet-facing AtomCMS v2.0 instances as urgent due to critical severity, weaponized exploit availability, and high EPSS probability.
- Identify all AtomCMS deployments and prioritize those exposing /admin/login.php to the internet.
- Restrict access to the admin login endpoint immediately using network controls, VPN, IP allowlists, or upstream authentication.
- If no vendor-supported fixed version is available, migrate away from AtomCMS v2.0 or apply a reviewed code-level fix using parameterized queries.
- Deploy or tune WAF signatures for SQL injection attempts against /admin/login.php, including UNION, Boolean-based, error-based, and time-based payloads.
- Review web, application, database, and authentication logs for historical exploitation before declaring the system clean.
- Rotate CMS administrator passwords, database credentials, and any secrets stored in the CMS if exploitation is suspected or cannot be ruled out.
- Harden the database account used by the CMS to least privilege and disable dangerous capabilities such as file writes where applicable.
- Check for unauthorized administrator accounts, modified templates/pages, suspicious uploaded files, injected scripts, and unexpected database changes.
- Create SIEM detections for SQL injection patterns targeting /admin/login.php and alert on repeated failed login requests with SQL metacharacters.
The record
AtomCMS v2.0 was discovered to contain a SQL injection vulnerability via /admin/login.php.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-87936 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')… CWE-89
- CVE-2026-87938 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')… CWE-89
- CVE-2026-114664 Frappe Framework before 16.33.0 contains a blind SQL injection vulnerability in the… CWE-89
- CVE-2026-114577 A vulnerability was found in oretnom23 php-travel-agency-system. CWE-89
- CVE-2026-113406 BA-Workflow developed by YS-infoware has a SQL Injection vulnerability. CWE-89
- CVE-2026-113405 BA-Workflow developed by YS-infoware has a SQL Injection vulnerability. CWE-89
- CVE-2026-107081 SQL injection via identifier injection in the tableName and tableFields POST parameters… CWE-89
- CVE-2026-112150 A security flaw has been discovered in vraj404 Criminal-Management-System up to… CWE-89