Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryInject SQL payload into orderBy parameter
-
ExploitManipulate ORDER BY clause of built query
-
ExecutionBlind-extract database contents
-
ImpactDisclose credentials/sales data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated session (vendor CVSS PR:L) on a deployed Mini-Inventory-and-Sales-Management-System instance and the ability to control the value passed to the order_by()/orderBy argument that flows into DB_query_builder.php. Exploitation is limited by: (1) the injection residing in the ORDER BY clause, which constrains extraction to blind/inferential techniques rather than direct UNION dumps; (2) the need for valid low-privilege credentials; and (3) the tiny, unsupported deployment base of this abandoned project. No non-default configuration is otherwise required - any running instance exposing the affected sort parameter to an authenticated user is vulnerable, and the maintainer has stated it will not be fixed. |
| Impact | This is a genuine vulnerability but a LOW real-world priority. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) shows remote, low-complexity, authenticated exploitation, and CWE-89 SQL injection is confirmed by VulDB. The vendor-assigned severity is only 5.3 (Medium) with VC:L/VI:L/VA:L, reflecting that the injection point is the ORDER BY clause via the order_by() function - a constrained sink where UNION-based extraction is difficult and blind/time-based techniques are the realistic path, limiting impact versus a WHERE-clause injection. Exploit maturity is E:P (Proof-of-Concept) and a public exploit gist exists, so the barrier to abuse is low. However, no EPSS score and no CISA KEV listing are present in the input, so there is no evidence of automated or widespread exploitation - this reads as opportunistic-at-best rather than a mass-exploited flaw. The decisive risk-reducer is the product itself: an unmaintained hobby project that the maintainer explicitly refuses to fix, with negligible enterprise deployment. POC availability and active exploitation are distinct signals - only the former is present here. |
| Exploit ScenarioDerived | An authenticated low-privilege user of a Mini-Inventory-and-Sales-Management-System instance submits a crafted value in a request parameter that reaches the order_by()/orderBy argument, injecting SQL into the ORDER BY clause of a query built by DB_query_builder.php. Using blind boolean/time-based techniques, the attacker enumerates and exfiltrates database contents such as user credentials or sales records. A public proof-of-concept exploit is available (gist by qianqiusujiu), lowering the effort required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Authenticated SQL injection in the order_by() method of DB_query_builder.php in amirsanni's Mini-Inventory-and-Sales-Management-System lets a remote attacker holding valid low-privilege credentials manipulate the orderBy argument and inject arbitrary SQL into the ORDER BY clause of generated queries, yielding high-confidence read access to database contents (customer, inventory and sales records, application credentials) and limited data-manipulation potential. Publicly available exploit code exists, but the injection sits in an ORDER BY context, which constrains extraction to blind/inferential or error-based techniques rather than direct UNION result dumping, and an authenticated session is required. The project is abandoned - the maintainer has said it is not worth fixing and follows a rolling release model, so no version-specific patched build is expected; exposure is limited to the small existing deployment base, making this a genuine but low real-world priority.
RemediationAI
No vendor-released patch is identified at time of analysis, and the maintainer has explicitly stated the abandoned project will not be fixed, so the primary recommendation is to retire Mini-Inventory-and-Sales-Management-System and migrate to a maintained inventory/sales platform - this is the only complete fix and should be prioritized for any internet-facing instance. If the application must stay online temporarily, apply targeted compensating controls rather than generic hardening: rewrite the order_by()/orderBy handling in DB_query_builder.php so the parameter is validated against a hard-coded allow-list of permitted column names and sort directions and rejected otherwise (side effect: callers that currently pass dynamic or aliased identifiers must be updated or they will break), and deploy a WAF/ModSecurity rule that rejects requests whose sort/order parameters contain SQL metacharacters such as quotes, parentheses, comment markers or SQL keywords like UNION, SELECT, SLEEP and EXTRACTVALUE (side effect: false positives on legitimate values containing apostrophes). In parallel, run the application's database account with least privilege - read/write only on its own schema, no FILE privilege, no INTO OUTFILE, stacked queries disabled where the driver allows it - and restrict the inventory/ordering screens to a small set of trusted authenticated users, since the vulnerability requires a valid low-privilege session (CVSS PR:L) and publicly available exploit code exists. Because exploitation yields database contents, assume credentials may be exposed: rotate application and database credentials and review logs for anomalous sort parameters in the interim. Reference material: https://vuldb.com/vuln/410836 and the public exploit at https://gist.github.com/qianqiusujiu/d1b22995e74ba21c8fb776ce3b1cddef.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Root cause is CWE-89 (improper neutralization of special elements used in an SQL command), a classic SQL injection in a PHP database abstraction layer. The affected code is the query-builder class in DB_query_builder.php, whose order_by() method concatenates the caller-supplied $orderBy value directly into the ORDER BY portion of the SQL statement without parameterization, whitelisting or escaping. ORDER BY is an awkward injection point defensively because column identifiers generally cannot be bound as PDO placeholders, so developers frequently leave this parameter raw while using prepared statements elsewhere in the same class. The vendor's CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/E:P) and our independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N) agree the flaw is network-reachable, requires a low-privilege authenticated session (PR:L), needs no user interaction, and delivers greater confidentiality than integrity impact. Practical exploitation follows the limits of ORDER BY injection: MySQL error-based payloads using extractvalue()/updatexml(), boolean- and time-based blind subqueries, or stacked/UNION variants only if the underlying driver and query construction permit them; the technique with the highest yield is inferential extraction of table contents such as the users table and password hashes. The vulnerability affects the Python-free PHP/MySQL stack of a small web application and is present in every commit up to the referenced rolling-release snapshot.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Authenticated remote SQLi (PR:L, AV:N/AC:L) primarily enables database read (C:H); ORDER BY-clause injection yields limited write/integrity impact (I:L) and no availability loss.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A security flaw has been discovered in amirsanni Mini-Inventory-and-Sales-Management-System up to 81bf0b55f5933f3b0dbb1583204a612e06605b95. The impacted element is the function order_by of the file DB_query_builder.php of the component Database Query Builder. Performing a manipulation of the argument orderBy results in sql injection. Remote exploitation of the attack is possible. The exploit has been released to the public and may be used for attacks. This product follows a rolling release approach for continuous delivery, so version details for affected or updated releases are not provided. The project maintainer confirms: "I stopped maintaining that project for a while now, so I'm not sure it's worth fixing." This vulnerability only affects products that are no longer supported by the maintainer.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-88051
GHSA-fpqj-6jpv-75mg
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB