CVE-2021-41649
Critical · 9.8CVSS
9.8
EPSS
51.8%
Published
Oct 1, 2021
CISA due date
—
Cloudanix analysis
Attackers can remotely manipulate the shopping site’s database without logging in, potentially stealing or changing store and customer information.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- SQL Injection
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
CVE-2021-41649 is an unauthenticated SQL injection vulnerability in the PuneethReddyHC online-shopping-system-advanced application. The vulnerable endpoint is /homeaction.php, where the cat_id POST parameter is incorporated into a SQL query without adequate input validation or parameterization. Because exploitation requires no authentication, no user interaction, and low attack complexity, a remote attacker can manipulate backend SQL queries to read, modify, or delete database records, bypass application logic, enumerate schema details, and potentially achieve broader compromise depending on database permissions and server configuration.
Why it matters to the business
A successful attack can expose customer, order, product, credential, or administrative data stored in the application database; alter prices, inventory, or order records; disrupt storefront availability; and undermine trust in the integrity of the e-commerce platform. The high CVSS score, public age of the vulnerability, and weaponized exploit maturity mean internet-facing deployments should be treated as high-risk even though the issue is not currently listed in CISA KEV and is not known from the provided data to be used in ransomware campaigns.
How an attack unfolds
An attacker first identifies an exposed instance of online-shopping-system-advanced and sends crafted POST requests to /homeaction.php with malicious SQL syntax in the cat_id parameter. If the application concatenates this value into a database query, the injected SQL changes the query logic. The attacker may begin with boolean-based or error-based probes to confirm injection, then enumerate database names, tables, and columns. After confirming the database structure, the attacker can extract sensitive records, alter application data, create or modify administrator records if permissions allow, or issue destructive queries. Automated tools such as SQL injection scanners can weaponize this process quickly because the endpoint is unauthenticated and the parameter is known.
How to fix it
No fixed version is provided in the supplied vulnerability data. Organizations running online-shopping-system-advanced should remediate by modifying the vulnerable code in /homeaction.php so that cat_id is never concatenated directly into SQL statements. Use prepared statements or parameterized queries, enforce strict server-side type validation for cat_id, reject non-numeric values if the parameter is expected to be an integer, and use least-privilege database credentials that cannot perform unnecessary administrative operations. If the project is no longer maintained or a trusted patched release is unavailable, replace it with a maintained e-commerce application. As interim mitigations, restrict public access to the application where feasible, deploy WAF rules for SQL injection patterns targeting /homeaction.php and cat_id, disable verbose database errors, and monitor for exploitation attempts.
How to confirm the fix worked
Confirm remediation by reviewing /homeaction.php and verifying that all SQL queries involving cat_id use parameterized statements or safe ORM/query-builder mechanisms. Perform dynamic testing against /homeaction.php with benign SQL injection probes in the cat_id parameter and verify that responses are consistent, errors are not returned, and time-delay payloads do not affect response time. Validate that cat_id enforces the expected data type and rejects special characters, SQL operators, comments, and stacked query delimiters. Check that the database account used by the application has only the permissions required for normal operation. If a WAF rule is used as a temporary control, confirm that requests containing common SQL injection payloads in cat_id are blocked and logged.
Typical attack path
- Discover an exposed online-shopping-system-advanced application instance.
- Send POST requests to /homeaction.php with test payloads in the cat_id parameter, such as quotes, boolean expressions, UNION SELECT probes, or time-delay functions.
- Confirm SQL injection through database errors, changed response content, timing delays, or abnormal HTTP responses.
- Enumerate the database engine, schema names, table names, and column names.
- Extract sensitive records such as user accounts, order data, product data, or administrative information.
- Optionally modify or delete database records, create privileged users, or manipulate storefront content and transactions.
- Attempt follow-on access using recovered credentials or administrative application access.
How to detect it
Investigate web access logs, application logs, WAF logs, reverse-proxy logs, PHP error logs, and database audit/general query logs for suspicious POST requests to /homeaction.php where cat_id contains SQL syntax or causes abnormal responses. Look for URL-encoded or plain-text SQL operators, UNION SELECT probes, quote characters, SQL comments, stacked query delimiters, boolean conditions, sleep/benchmark delays, and database error messages. Correlate suspicious requests with spikes in 500 errors, unusually large responses, long response times, repeated requests from the same source IP, and subsequent administrative activity. Review database logs for unexpected SELECTs against metadata tables, mass reads from user/order tables, INSERTs or UPDATEs affecting administrative accounts, and destructive DELETE/DROP/ALTER statements. If exploitation is suspected, preserve web logs, database logs, application files, and a database snapshot before cleanup.
- POST /homeaction.php
- cat_id='
- cat_id=%27
- cat_id="
- cat_id=%22
- cat_id=1 OR 1=1
- cat_id=1%20OR%201%3D1
- cat_id=1' OR '1'='1
- cat_id=1%27%20OR%20%271%27%3D%271
- cat_id=1--
- cat_id=1%2D%2D
- cat_id=1#
- cat_id=1%23
- cat_id=1/*
- cat_id=1%2F%2A
- cat_id=1 UNION SELECT
- cat_id=1%20UNION%20SELECT
- cat_id=-1 UNION SELECT
- cat_id=-1%20UNION%20SELECT
- cat_id=1 AND SLEEP(
- cat_id=1%20AND%20SLEEP%28
- cat_id=1 AND BENCHMARK(
- cat_id=1%20AND%20BENCHMARK%28
- cat_id=1;
- cat_id=1%3B
- information_schema.tables
- information_schema.columns
- SQL syntax
- You have an error in your SQL syntax
- mysql_fetch
- mysqli_fetch
- Warning: mysqli
- Warning: mysql
- /homeaction.php
What your security team should do
- Immediately inventory internet-facing deployments of online-shopping-system-advanced and determine whether /homeaction.php is reachable.
- Prioritize remediation because exploitation is unauthenticated, low-complexity, high-impact, and has weaponized maturity with a high EPSS score.
- Patch the vulnerable code using prepared statements and strict input validation; if maintainable remediation is not possible, decommission or replace the application.
- Review web server, application, WAF, and database logs for historical requests to /homeaction.php containing SQL injection patterns in cat_id.
- Rotate credentials and invalidate sessions if logs indicate successful data extraction, administrative manipulation, or abnormal database access.
- Reduce database privileges for the application account and ensure it cannot create users, write files, execute administrative functions, or access unrelated databases.
- Deploy compensating WAF or reverse-proxy rules to block SQL metacharacters, UNION queries, comments, stacked queries, and time-delay functions in the cat_id parameter.
- Disable verbose SQL/database error output in production and ensure errors are logged server-side only.
- Perform database integrity checks for unauthorized users, modified prices, changed orders, altered product records, or unexpected deletions.
The record
An un-authenticated SQL Injection exists in PuneethReddyHC online-shopping-system-advanced through the /homeaction.php cat_id parameter. Using a post request does not sanitize the user input.
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