SourceCodester Point of Sales CVE-2025-12294
LOWAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain admin credentials
-
DeliveryAuthenticate to POS system
-
ExploitSend crafted HTTP request to /delete_category.php
-
ExecutionInject SQL payload in ID parameter
-
PersistExecute unauthorized database query
-
ImpactExfiltrate or modify data
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 attacker must possess high-privilege credentials for the Point of Sales application (PR:H in CVSS vector). Exploitation cannot occur via unauthenticated network access - a valid administrator account is required. The /delete_category.php endpoint must be accessible to the authenticated user, which is expected in standard POS deployments where administrators manage product categories. The vulnerability is not dependent on non-default configuration; it affects default installations where the unpatched code exists. |
| Impact | This vulnerability presents a paradoxical risk profile. While the CVSS v4.0 vector indicates network accessibility (AV:N), the high privilege requirement (PR:H) and low impact ratings (VC:L/VI:L/VA:L) significantly constrain exploitability. The EPSS score of 0.03% (7th percentile) reflects this constraint - despite public exploit availability, real-world exploitation likelihood is minimal. The vulnerability is NOT actively exploited per CISA KEV standards; it is merely publicly disclosed with POC code. Attack complexity is low (AC:L) and no user interaction is required (UI:N), but the mandatory high-privilege attacker context (requiring administrative authentication) is the critical limiting factor. An insider threat or compromised admin account would be required to trigger the vulnerability. The low CVSS score (2.0) accurately reflects this - the technical impact is limited even if a high-privilege user is compromised. Real-world risk depends heavily on administrative credential hygiene and network isolation of the POS application. |
| Exploit ScenarioDerived | An authenticated administrator with access to the POS system (or an attacker who has compromised administrative credentials through phishing or credential stuffing) navigates to or sends a crafted HTTP request to /delete_category.php with a malicious SQL payload in the ID parameter, such as ID=1 OR 1=1 or ID=1; DROP TABLE categories;--. The unvalidated parameter is incorporated into a SQL query, allowing the attacker to enumerate database contents, modify category records, or potentially escalate impact depending on database permissions and query context. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 29, 2026
SQL injection in SourceCodester Point of Sales 1.0 via the ID parameter in /delete_category.php allows high-privilege remote attackers to manipulate database queries. The vulnerability requires administrative credentials (PR:H) but carries low confidentiality, integrity, and availability impact. Public exploit code exists, though EPSS score (0.03%) suggests limited real-world exploitation despite public availability.
RemediationAI
No vendor-released patch has been identified at time of analysis. Mitigation requires: (1) Upgrade to a patched version if available from SourceCodester/janobe - contact the vendor directly at www.sourcecodester.com for security advisories; (2) If upgrade is unavailable, implement input validation and parameterized queries in /delete_category.php to sanitize the ID parameter before use in SQL statements; (3) Restrict network access to the POS application via firewall rules, allowing only trusted internal networks; (4) Enforce strong, unique passwords for administrative accounts and implement multi-factor authentication to reduce the risk of credential compromise; (5) Monitor database query logs for anomalous SQL syntax in the delete_category endpoint. Given the requirement for high-privilege access, the primary mitigation strategy is administrative credential protection rather than network-level controls, though network segmentation provides defense-in-depth.
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
The vulnerability stems from improper input validation in a PHP-based point-of-sales application. The /delete_category.php endpoint fails to sanitize or parameterize the ID parameter before incorporating it into SQL queries, enabling SQL injection attacks (CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component). The affected product is janobe Point of Sales 1.0 (CPE: cpe:2.3:a:janobe:point_of_sales:1.0:*:*:*:*:*:*:*), a web application commonly deployed in small retail or restaurant environments. SQL injection in this context typically allows attackers to read, modify, or delete database records depending on database permissions and query construction.
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:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Primary rating from Vendor (vuldb) · only source for this CVE.
CVSS VectorVendor: vuldb
DescriptionCVE.org
A security flaw has been discovered in SourceCodester Point of Sales 1.0. Impacted is an unknown function of the file /delete_category.php. Performing manipulation of the argument ID results in sql injection. The attack can be initiated remotely. The exploit has been released to the public and may be exploited.
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 (by janobe) via the Category parameter in /category.php allows remote
SQL injection in SourceCodester Point of Sales 1.0 exposes the login endpoint (/index.php) to unauthenticated remote exp
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB