Skip to main content

SourceCodester Inventory System EUVDEUVD-2026-104126

| CVE-2026-112097 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-19 VulDB GHSA-hj67-qgx7-c3rj
5.1
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-privileged user
  2. Delivery
    Submit crafted Hsn_Code via save_sale
  3. Exploit
    Store malicious script in sales record
  4. Execution
    Victim opens affected sales view
  5. Impact
    Script executes in victim browser

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 account on the SourceCodester Inventory System (CVSS PR:L) that can reach the Sales Management Handler and invoke /api/transactions_handler.php?action=save_sale; the attacker injects script into the Hsn_Code argument of a saved sale. Successful script execution further depends on victim user interaction (CVSS UI:P) - a second user must open the view that renders the stored Hsn_Code value. These two factors (required authentication and required victim interaction) are the principal limits on exploitation and keep real-world risk below what a raw network-vector score alone would imply; impact is limited to integrity within the victim's browser context (VI:L), with no confidentiality or availability effect.

Impact

This is a medium-severity, authenticated cross-site scripting flaw and the available signals consistently point to it being a low-to-moderate real-world priority rather than an urgent one. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N) scores 5.1 and indicates network reach but constrained preconditions: the attacker needs existing low-level privileges (PR:L, i.e. an authenticated account) and victim user interaction (UI:P), with only limited integrity impact and no confidentiality or availability impact. There is no KEV listing and no EPSS score supplied in the input, so there is no evidence of active or probable widespread exploitation; per the rules this is treated as 'no public exploit identified at time of analysis.' A third-party GitHub write-up (Mohnad-AL-saif/MyCVEs) and a VulDB entry document the issue, but these are vulnerability reports rather than confirmed weaponized exploit code. The signals do not conflict: a low-impact, authentication-and-interaction-gated XSS in a small PHP application is a genuine-but-low priority. Note that EPSS and KEV data are absent from the input, so exploitation probability cannot be quantified and should be verified against live VulDB/EPSS feeds before final triage.

Exploit ScenarioDerived

An attacker who already holds a low-privileged account on the Inventory System logs in and submits a sale through /api/transactions_handler.php?action=save_sale with a malicious script payload in the Hsn_Code field. When another user - typically an administrator or staff member - later views the stored sales record, the injected JavaScript executes in their browser session. No public exploit code is identified in the provided data, though a VulDB entry and a GitHub write-up describe the flaw.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 allows an authenticated user to inject script through the Hsn_Code parameter of /api/transactions_handler.php?action=save_sale, which executes in another user's browser when the saved sale is viewed. Exploitation requires an authenticated account and victim interaction, limiting real-world urgency; no public exploit identified at time of analysis and no CISA KEV active-exploitation signal was provided. The assessed impact is a limited integrity effect in the victim's browser context, with no confidentiality or availability impact.

RemediationAI

No vendor-released patch was identified at time of analysis. Until a fixed release is available, restrict access to the Sales Management Handler and the /api/transactions_handler.php?action=save_sale endpoint to trusted, least-privileged authenticated roles, recognizing that this reduces exposure but does not remove the stored XSS condition. Add server-side validation and output encoding for the Hsn_Code value and any sale fields rendered in HTML, with the trade-off that this requires custom code changes and must be applied consistently across every view that displays saved sales. Deploy a Content Security Policy that blocks inline and untrusted script execution as a defense-in-depth measure, accepting that it may break legitimate application scripts if not tuned first. If the sales workflow is not required, disable or tightly monitor the endpoint and alert on suspicious script-like content in Hsn_Code; WAF or filtering rules can help but may produce false positives and are readily bypassed. Monitor the VulDB entry at https://vuldb.com/vuln/421921 and the linked GitHub write-up at https://github.com/Mohnad-AL-saif/MyCVEs/blob/main/VulDB/Inventory-System/CVE-03-XSS-sales.md for patch or mitigation updates.

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 affected Sales Management Handler saves sale records through /api/transactions_handler.php?action=save_sale. The Hsn_Code argument is insufficiently neutralized before being stored and later rendered, matching CWE-79 (Improper Neutralization of Input During Web Page Generation, commonly called cross-site scripting). Because the payload is saved in a sale record and executed when another user views that record, this is a stored XSS pattern rather than a reflected one. The supplied CPE, cpe:2.3:a:sourcecodester:inventory_system:*:*:*:*:*:*:*:*, identifies the product but does not enumerate a precise version range; the description and referenced write-up specifically identify version 1.0. The independent assessment rates this CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N, reflecting that an authenticated account is needed to reach the save_sale handler and a second user must interact with the rendered record for script execution.

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 5.1 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
vuln.today AI 4.1 MEDIUM

Authenticated submission (PR:L) with required victim rendering (UI:R); stored XSS executes in another user's context (S:C) with limited integrity-only impact and no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/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

DescriptionCVE.org

A vulnerability was found in SourceCodester Inventory System 1.0. This issue affects some unknown processing of the file /api/transactions_handler.php?action=save_sale of the component Sales Management Handler. The manipulation of the argument Hsn_Code results in cross site scripting. It is possible to launch the attack remotely.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Rare
SourceCodester tutorial-grade PHP app, negligible production/enterprise footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
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