Skip to main content

SourceCodester Inventory System EUVDEUVD-2026-104123

| CVE-2026-112096 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-10-19 VulDB GHSA-m7g6-4763-pv2w
2.0
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege user
  2. Delivery
    Submit crafted payload to save_purchase endpoint
  3. Exploit
    Script stored in purchase record
  4. Execution
    Admin views records page
  5. Persist
    Injected JavaScript executes in victim browser
  6. Impact
    Session/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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Inventory System 1.0

Affected Packages

euvd inventory_system no fix

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

Vendor (VulDB) PRIMARY 2.0 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Oct 19, 2026 - 09:22 NVD
MEDIUM LOW
CVSS changed
Oct 19, 2026 - 09:22 NVD
5.1 (MEDIUM) 2.0 (LOW)
CVE Published
Oct 19, 2026 - 08:30 cve.org
MEDIUM 5.1

DescriptionCVE.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

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Rare
SourceCodester hobby/educational PHP app, negligible enterprise deployment footprint
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy