projectworlds Expense Management System
CVE-2025-12229
LOW
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as admin
-
DeliveryNavigate to roles creation page
-
ExploitSubmit XSS payload in role form field
-
ExecutionPayload stored in database
-
PersistAdmin views roles list
-
ImpactMalicious 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 the attacker to possess high-privilege (admin-level) authentication credentials to access the /public/admin/roles/create endpoint. Additionally, the vulnerable endpoint must be accessible over the network without additional authentication barriers beyond the login mechanism. A legitimate administrator or other user must view or interact with the injected content (via the Roles Page display or edit functionality) for the XSS payload to execute in their browser, meaning the attack cannot proceed without user interaction on the victim side. Non-high-privilege users cannot access the vulnerable endpoint. The vulnerability does not execute automatically upon injection; a second user must interact with the stored malicious content for it to trigger. |
| Impact | Despite a low CVSS score of 1.9, this vulnerability presents moderate real-world risk due to conflicting signals. The CVSS vector (PR:H, UI:P, VC:N, VI:L) correctly reflects that exploitation requires high-privilege authentication and user interaction, with limited integrity impact. However, the EPSS score of 0.03% (9th percentile) indicates very low likelihood of mass exploitation, consistent with the stringent prerequisites. Public POC availability increases risk for targeted attacks against organizations where high-privilege users are compromised or malicious insiders exist. The low CVSS aligns with exploitation difficulty, suggesting this is not a critical priority but warrants remediation as part of routine patching. The real risk lies in insider threats or privilege escalation chains where an attacker with admin-level access injects malicious scripts to compromise other administrators. |
| Exploit ScenarioDerived | A disgruntled administrator with high-privilege access to the Expense Management System navigates to the Roles Page and creates a new role, injecting a malicious script payload in the role name or description field. When another administrator views the list of roles or attempts to edit the newly created role, the malicious script executes in their browser, potentially stealing their session cookie, redirecting them to a phishing site, or performing unauthorized actions on their behalf. The attacker used the public POC from GitHub to craft the payload. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 29, 2026
Stored cross-site scripting (XSS) in projectworlds Expense Management System 1.0 allows authenticated high-privilege users to inject malicious scripts via the Roles Page create endpoint (/public/admin/roles/create), which are then reflected to other users. The vulnerability requires high-privilege authentication and user interaction to trigger, limiting real-world exploitation despite public POC availability and network accessibility.
RemediationAI
Immediate remediation requires contacting projectworlds for a patched version, as no public patch information is available in the provided data. As a compensating control, restrict administrative access to the /public/admin/roles/create endpoint to a minimal set of trusted administrators and implement IP whitelisting if possible, reducing the pool of potential attackers. Apply strong Content Security Policy (CSP) headers to prevent inline script execution and restrict script sources to trusted domains, mitigating XSS impact even if injection occurs. Implement input validation on the roles creation form to reject or sanitize special characters and HTML entities, and apply output encoding to all reflected data using context-appropriate encoding (HTML entity encoding for HTML context). Enable security auditing on administrative functions to detect suspicious role creation activity. Contact projectworlds for security updates and consider evaluating alternative expense management solutions if patches are not forthcoming.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability exists in the Roles Page creation component of the Expense Management System, specifically in the /public/admin/roles/create endpoint. The underlying issue is improper input sanitization or output encoding (CWE-79) in a web application context. The flaw allows malicious HTML/JavaScript to be submitted through a web form without adequate validation, persisting in the application's database or being reflected in subsequent responses. This is a classic XSS vulnerability where user-controlled input reaches the DOM without proper escaping, allowing script execution in the context of the victim's browser session.
Know when Expense 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
Primary rating from Vendor (vuldb) · only source for this CVE.
CVSS VectorVendor: vuldb
DescriptionCVE.org
A security flaw has been discovered in projectworlds Expense Management System 1.0. This affects an unknown function of the file /public/admin/roles/create of the component Roles Page. The manipulation results in cross site scripting. The attack may be performed from remote. The exploit has been released to the public and may be used for attacks.
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.
Affected Products (CPE)CVE.org
More in Expense Management System
View allAn issue in Expense Management System v.1.0 allows a local attacker to execute arbitrary code via a crafted file uploade
Expense Management System v1.0 was discovered to contain a SQL injection vulnerability via the id parameter at /Home/deb
XSS in the Add Expense Component of EGavilan Media Expense Management System 1.0 allows an attacker to permanently store
A vulnerability was found in SourceCodester Expense Management System. Rated critical severity (CVSS 9.8), this vulnerab
A vulnerability was found in CodeAstro Expense Management System 1.0. Rated medium severity (CVSS 6.1), this vulnerabili
Stored cross-site scripting in projectworlds Expense Management System 1.0 allows high-privileged authenticated users to
Stored cross-site scripting (XSS) in projectworlds Expense Management System 1.0 allows authenticated users with high pr
Stored cross-site scripting (XSS) in projectworlds Expense Management System 1.0 allows high-privileged authenticated us
Cross-site request forgery in CodeAstro Expense Management System 1.0 allows an attacker to perform unauthorized actions
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB