Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliverySubmit crafted payload to save_purchase endpoint
-
ExploitScript stored in purchase record
-
ExecutionAdmin views records page
-
PersistInjected JavaScript executes in victim browser
-
ImpactSession/credential theft
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated session with at least low-level access to the Inventory System (PR:L) so the attacker can reach the Purchase Records Handler and submit a purchase via /api/transactions_handler.php?action=save_purchase. The injected payload is delivered through the Product_Name, Product_Code, or Vendor_Name parameters. Triggering the payload requires passive user interaction (UI:P) - a second user, typically an operator or administrator, must subsequently view the page that renders the stored purchase record. Limiting factors: valid account needed (no anonymous exploitation), a victim must open the affected view, and the product's tiny deployment base sharply narrows realistic targeting. Confirmed only against SourceCodester Inventory System 1.0. |
| Impact | This is a genuine-but-low-priority issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N, score 5.1 MEDIUM) describes a network-reachable cross-site scripting flaw that nonetheless requires BOTH low-level authentication (PR:L) and passive victim interaction (UI:P) - two gating factors that materially reduce real-world exploitability. The exploitation-maturity flag (E:P) and the GitHub reference confirm publicly available exploit code exists, but there is NO CISA KEV listing and NO EPSS score was provided, so there is no evidence of active or automated exploitation. Signals are internally consistent (POC present, modest impact, authentication + interaction required) rather than conflicting. The dominant real-world limiter is not the CVSS score but the affected product itself: SourceCodester Inventory System is a small hobby/educational PHP application with negligible enterprise deployment, so even a working exploit has a tiny addressable attack surface. Treat as a standard patch-cycle item, not an emergency; the high-CVSS-looking 'remote' attribute is offset by authentication, user interaction, and near-zero prevalence. |
| Exploit ScenarioDerived | An authenticated low-privilege user submits a purchase record via /api/transactions_handler.php?action=save_purchase with a malicious script payload in the Product_Name, Product_Code, or Vendor_Name field; the payload is stored and later rendered unsanitized, so when another operator (e.g. an administrator) views the purchase records their browser executes the injected JavaScript, enabling session hijacking or actions in their context. Public exploit code for this exact vector exists on GitHub, lowering the barrier to reproduction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Stored cross-site scripting in SourceCodester Inventory System 1.0 is a genuine-but-low-priority issue: an authenticated low-privilege user can inject script through the Product_Name, Product_Code, or Vendor_Name parameters when saving a purchase via /api/transactions_handler.php?action=save_purchase, and the payload executes when another user views the affected purchase record. Publicly available exploit code exists, but there is no CISA KEV confirmation of active exploitation, and the product's limited deployment base reduces practical risk. The independent assessment scores this as CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, requiring a valid account and victim interaction.
RemediationAI
No vendor-released patch identified at time of analysis. Until an update is available, restrict purchase-record creation and viewing to trusted roles and require re-authentication for the Purchase Records Handler; the trade-off is reduced workflow convenience and possible disruption to operators. Apply server-side output encoding and escaping to Product_Name, Product_Code, and Vendor_Name both on input and when rendering purchase records (for example, htmlspecialchars with ENT_QUOTES in the PHP context) and validate values against allowlists; the trade-off is development effort and possible breakage of legitimate special characters. Deploy a Content Security Policy that disallows inline script and set session cookies with HttpOnly, Secure, and SameSite attributes to reduce XSS impact, understanding that this mitigates but does not remove the flaw. A WAF rule blocking script payloads to /api/transactions_handler.php?action=save_purchase can provide temporary coverage but is bypassable and may generate false positives. Monitor the VulDB advisory at https://vuldb.com/vuln/421920 and the vendor site at https://www.sourcecodester.com/ for a fixed release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SourceCodester Inventory System is a PHP-based web application, and the vulnerable component is its Purchase Records Handler. The issue is CWE-79 cross-site scripting: purchase fields such as Product_Name, Product_Code, and Vendor_Name are accepted by /api/transactions_handler.php?action=save_purchase and later rendered in a purchase-record view without adequate output encoding, allowing an authenticated low-privilege user to store script that runs in another user's browser. The CVSS 4.0 input vector indicates PR:L and UI:P, and the independent CVSS 3.1 assessment aligns with authenticated low-level access plus UI:R and changed scope, with low confidentiality and integrity impact. The supplied CPE cpe:2.3:a:sourcecodester:inventory_system:*:*:*:*:*:*:*:* uses a wildcard and does not identify a fixed release. Public exploit code has been disclosed, but KEV status is absent, so active exploitation is not confirmed.
Know when Inventory System 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:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
Authenticated submission (PR:L) with a victim who must view the stored payload (UI:R); XSS crosses into the browser context (S:C) with limited confidentiality/integrity impact and no availability effect.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability has been found in SourceCodester Inventory System 1.0. This vulnerability affects unknown code of the file /api/transactions_handler.php?action=save_purchase of the component Purchase Records Handler. The manipulation of the argument Product_Name/Product_Code/Vendor_Name leads to cross site scripting. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may 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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Inventory System
View allReflected XSS in SourceCodester Inventory System 1.0 allows remote attackers to inject arbitrary JavaScript via the unva
Cross Site Scripting (XSS) vulnerability in InventorySystem thru commit e08fbbe17902146313501ed0b5feba81d58f455c (on Apr
Reflected cross-site scripting (XSS) in SourceCodester Inventory System 1.0 allows remote attackers to inject arbitrary
Stored cross-site scripting in SourceCodester Inventory System 1.0 allows remote unauthenticated attackers to inject per
Cross-site scripting in SourceCodester Inventory System 1.0 allows an authenticated low-privileged user to inject script
Stored cross-site scripting in SourceCodester Inventory System 1.0 allows an authenticated user to inject script through
Improper authorization in SourceCodester Inventory System 1.0 allows authenticated remote attackers to manipulate the RO
Reflected cross-site scripting in SourceCodester Inventory System 1.0 allows remote authenticated attackers to inject ar
EUVD-2026-104123
GHSA-m7g6-4763-pv2w
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB