MEDIUM 6.3

CVE-2026-14694: SQL Injection in SourceCodester Multi-Vendor Grocery System

A SQL injection vulnerability exists in SourceCodester's Multi-Vendor Online Grocery Management System version 1.0. An authenticated attacker can manipulate the ID parameter in the order cancellation function to inject malicious SQL commands. This allows an attacker with valid login credentials to read, modify, or delete database contents. The vulnerability was disclosed publicly, making attack techniques potentially available to a wider audience.

Source data · NVD / CISA · public domain

CVSS
3.1 · 6.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Weaknesses (CWE)
CWE-74, CWE-89
Affected products
0 configuration(s)
Published / Modified
2026-07-05 / 2026-07-06

NVD description (verbatim)

A vulnerability has been found in SourceCodester Multi-Vendor Online Grocery Management System 1.0. Affected by this issue is the function cancel_order of the file classes/Master.php of the component POST Parameter Handler. The manipulation of the argument ID leads to sql injection. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used.

6 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability resides in the cancel_order function within classes/Master.php. The component fails to properly sanitize the ID parameter when processing POST requests, allowing SQL injection (CWE-89). The attack vector is network-accessible and requires authentication but no user interaction. The flaw stems from insufficient input validation on a parameter that directly influences SQL query construction, enabling an attacker to break out of the intended query context and execute arbitrary SQL.

Business impact

Organizations running this grocery management system face risk of unauthorized data access and modification. Customer order records, pricing information, and potentially payment-related data could be compromised. The requirement for authentication limits exposure to insider threats and accounts with compromised credentials. However, the ability to modify or delete data poses significant operational and compliance risks, particularly regarding order fulfillment accuracy and audit trails.

Affected systems

SourceCodester Multi-Vendor Online Grocery Management System version 1.0 is confirmed vulnerable. Organizations should verify all instances of this application, particularly those exposed to authenticated users over untrusted networks. The affected component is the POST Parameter Handler in classes/Master.php, specifically the cancel_order function.

Exploitability

Exploitation requires valid authentication credentials and network access to the application. An attacker must be able to reach the order cancellation endpoint and possess valid login. The attack is straightforward to execute once authenticated—no complex payload crafting or race conditions are required. Public disclosure of the vulnerability means proof-of-concept code or exploitation techniques may be circulating, increasing practical risk for unpatched instances.

Remediation

Immediate steps include: (1) Apply security patches from SourceCodester if available, (2) Implement parameterized queries or prepared statements in the cancel_order function to prevent SQL injection, (3) Add input validation to reject unexpected ID formats, and (4) Apply the principle of least privilege to database accounts used by the application. Organizations unable to patch immediately should consider restricting access to the affected function or taking the application offline pending remediation.

Patch guidance

Contact SourceCodester directly or check their official advisory page for available patches addressing CVE-2026-14694. Verify patch applicability to your exact deployment version and environment. Test patches in a non-production environment before deployment. If patches are unavailable, consider using a Web Application Firewall (WAF) rule to detect and block SQL injection payloads in the order cancellation requests as a temporary control.

Detection guidance

Monitor application logs for unusual SQL error messages or unexpected database activity following order cancellation requests. Look for POST requests to the order cancellation endpoint containing special SQL characters (quotation marks, semicolons, UNION, SELECT, etc.) in the ID parameter. Database audit logs should be reviewed for unexpected queries, data access patterns, or modifications triggered from the web application user context. Network-level monitoring can flag requests with encoded SQL syntax.

Why prioritize this

Although the CVSS score of 6.3 is moderate, the combination of public disclosure, straightforward exploitation path for authenticated users, and potential for data breach or manipulation elevates practical risk. Organizations with exposed instances or those where internal users have broad database access should prioritize remediation. The integrity and confidentiality impacts outweigh the score alone in high-value environments.

Risk score, explained

The CVSS 3.1 score of 6.3 (MEDIUM) reflects an authenticated attack requiring valid credentials (PR:L), network accessibility (AV:N), low attack complexity (AC:L), and impacts on confidentiality, integrity, and availability (C:L/I:L/A:L) within the scope of the application. The score does not fully capture organizational risk if the application holds sensitive customer or financial data; context-specific risk may be higher.

Frequently asked questions

Does this vulnerability affect authenticated users only?

Yes. The CVSS vector shows PR:L, meaning the attacker must have valid login credentials. Unauthenticated users cannot directly exploit this flaw, reducing exposure in environments with strong access controls.

What data is at risk if exploited?

Any data in the database accessible to the application's database user is at risk. This typically includes orders, customer records, pricing, and potentially payment information. The extent depends on your database schema and account permissions.

Is there a public exploit available?

The vulnerability was disclosed publicly, and exploit code may be available. Organizations should assume that exploitation techniques are known and act accordingly by patching or implementing compensating controls.

Can a WAF protect us if we cannot patch immediately?

A WAF with SQL injection detection rules can help block common exploitation attempts, but it is not a substitute for patching. WAF rules may be bypassed by sophisticated payloads, so prioritize obtaining and deploying an official patch.

This analysis is provided for informational purposes and reflects publicly disclosed information about CVE-2026-14694 as of the publication date. Actual risk varies by deployment, configuration, and compensating controls. Always verify patch availability and compatibility with your specific environment before applying updates. SEC.co and its authors make no warranty regarding the completeness or accuracy of third-party vendor advisories or patch timelines. Organizations should consult official SourceCodester advisories and conduct their own risk assessments based on their unique context. Source: NVD (public-domain), retrieved 2026-08-13. Analysis generated by SEC.co (claude-haiku-4-5).