Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to leave management app
-
DeliverySubmit crafted avatar filename payload
-
ExploitStore XSS via Master.php
-
ExecutionVictim views avatar/employee page
-
ImpactScript runs 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 with sufficient privileges (vector PR:H) to supply the employee avatar filename handled by the Employee Avatar Upload Extension in app/classes/Master.php, plus passive victim interaction (UI:P) - a second user must load the page that renders the stored filename for the injected script to fire. Limiting factors: this is not remote-unauthenticated (an attacker account is needed), impact is confined to low integrity in the victim's browser context (VC:N/VA:N), and no availability or data-exfiltration impact is indicated. The exact upload workflow and which roles can set the filename are not described in the available sources and should be confirmed against the deployment's role configuration. |
| Impact | This is a medium-severity stored cross-site scripting issue (CWE-79, CVSS 4.0 base 4.8) in SourceCodester Online Leave Management System 1.0, and the signals converge on low real-world priority rather than an urgent threat. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N) shows network reach and low attack complexity but requires high privileges (PR:H) and passive user interaction (UI:P), with impact limited to low integrity and no confidentiality or availability loss - consistent with injecting script that fires when a victim views the affected page. Exploit maturity is E:P (proof-of-concept), and the multi-source data shows a public PoC reference (GitHub issue) that is not verified as working exploit code; there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of active or automated exploitation. The vuln.today decision label is 'this_month', not act_now/emergency. The main tension is the PR:H rating: for a self-service avatar upload this privilege requirement looks high, and the exact trigger (who can upload the avatar and who renders the filename) is not described in the available sources, so the realistic attacker privilege should be verified against the application's role model. Overall this reads as a genuine but low-urgency bug in a small application, not a high-CVSS-but-overstated issue - the ceiling is capped by the limited impact and the required privileges and victim interaction. |
| Exploit ScenarioDerived | An attacker who holds an account with upload rights in Online Leave Management System sets a malicious avatar filename containing an HTML/script payload via app/classes/Master.php; the stored value later renders unsanitized when another user (such as an administrator reviewing employees) loads the page, executing the script in that victim's browser session. A public PoC reference exists (GitHub issue) but it is not verified as working exploit code, and exploitation depends on the victim viewing the injected content (UI:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 09, 2026
Stored cross-site scripting in SourceCodester Online Leave Management System 1.0 lets a privileged authenticated user inject script through the employee avatar filename handled in app/classes/Master.php, which then executes in another user's browser when the stored value is rendered. The CVSS 4.0 vector (PR:H/UI:P) confirms an attacker account with sufficient privileges is required and the victim must interact passively, so impact stays at low integrity in the victim's browser context with no confidentiality or availability effect. A public PoC reference exists (a GitHub issue linked from the VulDB entry), though it is not verified as working exploit code, and there is no indication of active exploitation; priority per the vuln.today decision signal is 'this_month'.
RemediationAI
No vendor-released patch or fixed version was identified at time of analysis - neither the VulDB entry (https://vuldb.com/vuln/432916, https://vuldb.com/cve/CVE-2026-124570) nor the vendor site (https://www.sourcecodester.com/) lists one - so mitigation has to be compensating. Restrict the Employee Avatar Upload Extension to the smallest possible set of trusted accounts, since the assessed vector requires a highly privileged authenticated user (PR:H); this reduces exposure but does not remove it if such an account is compromised. Enforce server-side canonicalization of the employee avatar filename in app/classes/Master.php - reject any value containing markup metacharacters or path separators and accept only a strict allowlist of characters - and HTML-encode the filename at every point where it is rendered, with the trade-off that legitimate filenames with spaces, dots-only suffixes or non-ASCII characters may need explicit sanitization rules to avoid false rejections. Until the vendor ships a fix, place a reverse-proxy or WAF rule in front of the avatar upload and profile-view endpoints that blocks script-bearing filename parameters, accepting the usual risk of false positives and of bypass via alternate encodings. Review the public PoC reference at https://github.com/cm126261/CVE/issues/1 to confirm which request path and role are involved in your deployment, and monitor the VulDB entry for a patched release before upgrading.
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
The target is a PHP web application (tagged PHP) whose Employee Avatar Upload Extension in app/classes/Master.php accepts an 'employee avatar filename' argument and later renders that value back into a page. Because the filename is not safely encoded before output, an attacker-controlled value is interpreted as markup/script in the browser of any user who loads the page - the classic CWE-79 cross-site scripting root cause, here in its stored form, since the malicious filename persists with the employee record rather than reflecting per request. The CPE cpe:2.3:a:sourcecodester:online_leave_management_system with a wildcard version field provides no version boundary, so the affected range is defined only by the vendor's 1.0 release described in the advisory. The trigger specifics are not described in the available sources: neither the exact upload workflow nor which roles may set the filename is documented, so the privilege requirement (PR:H) should be confirmed against the deployment's own role configuration, and the vector's UI:P reflects passive victim interaction - a second user must load the rendering page for the script to fire - rather than an attacker-controlled timing condition.
Know when Online Leave Management 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:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
Authenticated upload by a normal employee account (PR:L); victim must render the stored filename (UI:R); script executes in the victim's browser context (S:C) with limited confidentiality/integrity impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in SourceCodester Online Leave Management System 1.0. Affected is an unknown function of the file app/classes/Master.php of the component Employee Avatar Upload Extension. Performing a manipulation of the argument employee avatar filename results in cross site scripting. Remote exploitation of the attack is possible. The exploit is now 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.
Online Leave Management System v1.0 was discovered to contain an arbitrary file upload vulnerability at /leave_system/cl
Online Leave Management System v1.0 was discovered to contain a SQL injection vulnerability via the component /admin/?pa
An arbitrary file upload vulnerability in the component /leave_system/classes/Users.php?f=save of Online Leave Managemen
Online Leave Management System v1.0 was discovered to contain a SQL injection vulnerability via the id parameter at /lea
Online Leave Management System v1.0 is vulnerable to SQL Injection via /leave_system/classes/Master.php?f=delete_applica
Online Leave Management System v1.0 is vulnerable to SQL Injection via /leave_system/classes/Master.php?f=delete_designa
Online Leave Management System v1.0 is vulnerable to SQL Injection via /leave_system/classes/Master.php?f=delete_leave_t
Online Leave Management System v1.0 was discovered to contain a SQL injection vulnerability via the id parameter at /mai
Online Leave Management System v1.0 was discovered to contain a SQL injection vulnerability via the id parameter at /emp
Online Leave Management System v1.0 was discovered to contain a SQL injection vulnerability via the id parameter at /mai
Online Leave Management System v1.0 was discovered to contain a stored cross-site scripting (XSS) vulnerability in the c
EUVD-2026-119811
GHSA-3ff5-847p-xj2r
NVD
CVE.org
VulDB
Exploit-DB