SourceCodester Point of Sales CVE-2025-12293
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP request to /category.php
-
ExploitInject SQL payload via Category parameter
-
ExecutionBypass unsanitized query logic
-
ImpactExtract or manipulate database records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
|
| Exploitation Conditions | The injection point is the Category parameter submitted to /category.php, and no authentication, special configuration, or user interaction is required - confirmed by the CVSS 4.0 vector (PR:N/UI:N/AC:L/AT:N). Remote unauthenticated exploitation is possible against any internet-accessible deployment of SourceCodester Point of Sales 1.0 in its default configuration. Exploitation is bounded by actual deployment of this specific PHP application; the software is primarily distributed as an academic or student project via SourceCodester, significantly limiting real-world exposure. No non-default feature flag or configuration setting is cited as a precondition in the CVE description or references. |
| Impact | The CVSS 4.0 base score of 5.5 is internally consistent with an AV:N/AC:L/AT:N/PR:N/UI:N vector paired with limited system impact (VC:L/VI:L/VA:L) and no subsequent-system impact (SC:N/SI:N/SA:N). The E:P threat modifier confirms a proof-of-concept is publicly available, which modestly elevates practical risk above the base score. However, the EPSS score of 0.03% at the 8th percentile is notably low and signals that mass automated exploitation has not been observed, likely because SourceCodester Point of Sales is primarily an academic or student demo application with minimal production deployment. The absence from CISA KEV further supports this interpretation. The realistic priority is low for most organizations; it becomes relevant only for any environment that has inadvertently deployed this application on an internet-accessible server. There is no CVSS vector conflict requiring escalation - description, CVSS, and EPSS are mutually consistent in characterizing a real but narrowly impactful vulnerability. |
| Exploit ScenarioDerived | An unauthenticated remote attacker sends an HTTP request to /category.php with a crafted value in the Category parameter - for example, appending a SQL fragment such as ' OR '1'='1 or a UNION-based payload - causing the backend SQL query to return unintended data or execute attacker-controlled logic. A public proof-of-concept is documented in the GitHub issue at https://github.com/J-Fy2767/CVE/issues/4, lowering the technical barrier to exploitation. Depending on database permissions, the attacker may enumerate tables, extract credentials or transaction records, or manipulate data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 25, 2026
SQL injection in SourceCodester Point of Sales 1.0 (by janobe) via the Category parameter in /category.php allows remote, unauthenticated attackers to manipulate backend database queries with no user interaction required. The CVSS 4.0 base vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms exploitation is straightforward and requires no privileges, though impact is limited (VC:L/VI:L/VA:L), indicating partial data exposure and manipulation rather than full system compromise. A publicly available proof-of-concept exists - reflected in the E:P threat modifier - yet the very low EPSS score of 0.03% (8th percentile) and absence from CISA KEV indicate no public exploit identified at time of analysis has driven widespread automated attacks.
RemediationAI
No vendor-released patch has been identified at time of analysis for SourceCodester Point of Sales 1.0. The definitive fix is to refactor /category.php to use PHP PDO or MySQLi prepared statements with parameterized queries for the Category parameter, which eliminates the injection surface entirely. As a compensating control, deploying a WAF rule to block SQL metacharacter sequences (e.g., single quotes, UNION, OR 1=1 patterns) in the Category parameter can reduce exploitation success but is bypassable and should not substitute for code-level remediation. If the application is internet-accessible and not required for active operations, taking it offline is the most effective risk reduction - particularly given its academic-use-case nature. Restricting the database user account to SELECT-only permissions on the minimum required tables limits data manipulation and deletion impact even if injection is achieved. See vulnerability details at https://vuldb.com/?id.329961 and the proof-of-concept reference at https://github.com/J-Fy2767/CVE/issues/4.
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
SourceCodester Point of Sales 1.0 is a PHP-based retail management application developed by janobe and distributed via SourceCodester (CPE: cpe:2.3:a:janobe:point_of_sales:1.0:*:*:*:*:*:*:*). The vulnerable file /category.php accepts a Category parameter and incorporates it into a SQL query without adequate sanitization or parameterization, a classic failure classified under CWE-74 (Improper Neutralization of Special Elements in Output Used by a Downstream Component - Injection). This root cause encompasses the broader injection family, where untrusted input is passed to an interpreter - in this case an SQL engine - allowing an attacker to alter query logic. The PHP tag in the intelligence confirms the server-side language, and the SQLi tag confirms the specific injection subtype rather than a secondary injection class.
Know when Point Of Sales 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:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Network-reachable endpoint, no auth or interaction required; limited C/I/A reflects partial data read/write, not full DB control or system takeover.
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
DescriptionCVE.org
A vulnerability was identified in SourceCodester Point of Sales 1.0. This issue affects some unknown processing of the file /category.php. Such manipulation of the argument Category leads to sql injection. It is possible to launch the attack remotely. The exploit is publicly available and might be used.
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.
Affected Products (CPE)CVE.org
More in Point Of Sales
View allSQL injection in SourceCodester Point of Sales 1.0 exposes the login endpoint (/index.php) to unauthenticated remote exp
SQL injection in SourceCodester Point of Sales 1.0 via the ID parameter in /delete_category.php allows high-privilege re
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB