Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as admin with client-edit rights
-
DeliveryStore XSS payload in client_email value
-
ExploitVictim admin opens invoice/quote mailer page
-
ExecutionScript executes in InvoicePlane origin
-
ImpactPerform same-origin actions with victim session
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 | Requires an authenticated administrator with permission to create/edit a client record (to store the payload in client_email, which lacks email-syntax enforcement) and, separately, a second authenticated administrator who must open the related invoice or quote mailer page. The mailer feature must be configured for the affected client. Exploitation is limited by these factors: two distinct high-privilege admin accounts are involved, the victim must perform user interaction (navigating to the mailer page), and only versions up to and including 1.7.2-beta-1 are affected (fixed in 1.7.2). The unescaped sink is specifically the to_email value attribute in the invoice/quote mailer views. |
| Impact | This is a genuine but low-priority stored XSS. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N, base 4.8) accurately captures the constrained real-world risk: exploitation requires PR:H (an authenticated administrator who can edit a client record) AND UI:R (a second authenticated administrator must open the invoice/quote mailer page), and the impact is only C:L/I:L. In practice this is an admin-to-admin attack - both the attacker (who must edit a client) and the victim are high-privilege users - so it offers little privilege escalation beyond what an admin already holds; its main value would be lateral compromise of another admin's session or an insider/backdoored-account scenario. No EPSS score, no CISA KEV listing, and no public exploit code were provided. The advisory (GHSA-477r-xmgc-vcvj) and the fix commit confirm the vulnerability and patch, so the technical facts are solid; the residual risk is low because of the dual high-privilege requirement, required user interaction, and the mailer having to be configured. Note the S:C (scope change) is a defensible XSS convention - the injection crosses from the server-rendered form into the victim's browser context - but reasonable analysts could argue S:U; this does not change the low-severity conclusion. |
| Exploit ScenarioDerived | A malicious or compromised administrator edits a client and sets the client_email field to an attribute-breaking payload (email syntax is not enforced). Later, when the mailer is configured and a different authenticated administrator opens the invoice or quote mailer page for that client, the payload breaks out of the double-quoted value attribute and executes JavaScript in the InvoicePlane origin, letting it perform same-origin actions with the victim admin's session. No public proof-of-concept is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Stored cross-site scripting in InvoicePlane 1.7.2-beta-1 and earlier lets an authenticated administrator who can edit client records persist an attribute-breaking payload in the client_email field, which the invoice and quote mailer views then render unescaped inside a double-quoted to_email value attribute. When the mailer feature is configured for the affected client and a second authenticated administrator opens the related mailer page, the injected JavaScript runs in the InvoicePlane origin and can act with that victim's session. Exploitation requires two separate high-privilege admin accounts plus victim user interaction, which keeps this a genuine but low-priority issue; no public exploit code has been identified at time of analysis, and the flaw is fixed in version 1.7.2.
RemediationAI
Upgrade to InvoicePlane 1.7.2, the vendor-released patch that escapes client_email with htmlsc() in the invoice and quote mailer views (fixing the to_email value attribute sink) and adds valid_email validation on client_email in Mdl_Clients as defense-in-depth; see the advisory GHSA-477r-xmgc-vcvj, PR #1635, commit 1e74c032ff1c65e6a4f9d173505f415c3a539f57, and the v1.7.2 release page. Until upgrading, treat client_email as untrusted: audit existing client records for stored values containing quotes, angle brackets, or script syntax and correct them, since the payload persists until the record is edited. Reduce the attack surface by restricting the ability to create or edit client records to the smallest possible set of trusted administrators, and by treating any previously compromised admin account as a staging vector rather than assuming the payload came from an external attacker. If the mailer feature is not operationally required, disabling it removes the rendering sink entirely, at the cost of losing invoice and quote emailing. Deploy a Content-Security-Policy that disallows inline and externally hosted script in the InvoicePlane origin to blunt execution of any residual stored payloads, understanding that a strict CSP may break legitimate front-end functionality and requires testing. Note that the vulnerability has a limited window of exposure because 1.7.2-beta-1 and earlier are the only affected versions and the fix is already published, so patching is straightforward and preferred over any of these compensating controls.
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 root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. cross-site scripting), manifesting as a stored/second-order variant. InvoicePlane's client model (Mdl_Clients) persisted the client_email value without enforcing email syntax, so arbitrary characters - including the double quote needed to break out of the attribute context - could be stored. The corresponding mailer view templates for invoices and quotes then interpolated that value directly into the to_email value attribute of an HTML form field without output encoding such as htmlsc(), producing an attribute-injection sink. Because the payload is stored server-side rather than reflected, it fires whenever any authenticated administrator subsequently loads the mailer page for the affected client while mailer configuration is present. The scope-changed (S:C) rating in the CVSS vector reflects that script executing in the InvoicePlane origin can reach same-origin resources and perform privileged actions using the victim's session cookies, though confidentiality and integrity impacts are bounded to Low and no availability impact is scored. The upstream fix in 1.7.2 applies htmlsc() escaping to client_email in the invoice and quote mailer views and adds valid_email validation in Mdl_Clients as defense-in-depth, part of a broader application-wide output-escaping sweep (PRs #1500/#1516) that also addressed 32 related escaping findings across 17 view files.
Know when Invoiceplane 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
AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
Attacker must be an admin able to edit clients (PR:H) and a second admin must open the mailer page (UI:R); script escapes into the victim browser context (S:C) with limited C:L/I:L and no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. In version 1.7.2-beta-1, InvoicePlane stores client_email values without enforcing email syntax and renders them unescaped inside double-quoted value attributes in the invoice mailer form and quote mailer form. An administrator who can edit a client can store attribute-breaking input, and, when the mailer is configured, JavaScript executes when another authenticated administrator opens the related mailer page. The script runs in the InvoicePlane origin and can perform same-origin actions with the victim's session. This issue is fixed in version 1.7.2.
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 Invoiceplane
View allInvoicePlane through 1.6.3 allows authenticated users to upload PHP files as attachments that can be executed remotely.
Remote Code Execution in InvoicePlane self-hosted invoicing application through code injection. PoC and patch available.
InvoicePlane version 1.4.10 is vulnerable to a Arbitrary File Upload resulting in an authenticated user can upload a mal
In InvoicePlane 1.5.11 a misconfigured web server allows unauthenticated directory listing and file download. Rated high
Unauthenticated attackers can read arbitrary files from InvoicePlane servers through path traversal in the Guest control
An SQL injection vulnerability in InvoicePlane through 1.6.3 has been identified in "maxQuantity" and "minQuantity" para
InvoicePlane (all versions tested as of December 2024) v.1.6.11 and before contains a remote code execution vulnerabilit
Cross Site Scripting (XSS) vulnerability in InvoicePlane 1.6 via filter_product input to file modal_product_lookups.php.
An XSS issue was discovered in InvoicePlane 1.5.10 via the "Quote PDF Password(Optional)" field. Rated medium severity (
Stored XSS via SVG file upload in InvoicePlane 1.7.0 Login Logo functionality allows authenticated administrators to inj
Stored XSS in InvoicePlane 1.7.0's invoice editing function fails to sanitize the invoice_number parameter, allowing aut
Stored XSS in InvoicePlane 1.7.0 via malicious SVG file upload in the Invoice Logo function allows authenticated adminis
EUVD-2026-87128
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB