Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure authenticated admin to malicious page
-
DeliveryBrowser auto-submits cross-origin POST form
-
ExploitCSRF token check absent on delete route
-
ExecutionRequest executes with admin session
-
ImpactFinancial/config records deleted
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a victim who is a currently-authenticated InvoicePlane administrator to load attacker-controlled web content in the same browser holding a valid session (UI:R). Affected versions are all releases prior to 1.7.2 running default configurations - no special feature toggle is needed, since the vulnerable delete/destructive methods (Payments::delete, Recurring::stop/delete, User_clients::delete, Users::delete_user_client, Email_templates, Families, Import) ship without CSRF token validation by default. Exploitation is LIMITED by the need for social engineering (the admin must visit the malicious page while logged in) and by the fact that the forged action is restricted to deletion of records the admin session can already delete; there is no data exfiltration and effects are largely recoverable from backups. |
| Impact | This is a CWE-352 cross-site request forgery flaw scored 6.5 (medium) by CVSS 3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N. The vector is internally consistent with the description: PR:N reflects that the attacker holds no application privileges (the CSRF abuses the victim admin's authenticated session), while UI:R correctly captures that a logged-in administrator must load attacker-controlled content for the forged POST to fire. Impact is integrity-only (I:H, deletion of financial/config records) with no confidentiality or availability metric, which is defensible though I:L could be argued since deletions are typically recoverable from backups. There is NO EPSS score, NO CISA KEV listing, and NO public POC provided, so this is no public exploit identified at time of analysis - a real-but-not-urgent issue. Real-world risk is bounded by the deployment footprint (niche self-hosted PHP invoicing app) and by the requirement that a currently-authenticated administrator be socially engineered into visiting a malicious page in the same browser session. Net: a legitimate defensive fix worth patching, but not a mass-exploitation priority. The one metadata gap is the absence of a PHP platform tag despite the CodeIgniter/PHP codebase evidenced in the PR diff. |
| Exploit ScenarioDerived | An attacker crafts a web page containing an auto-submitting hidden form (or several) targeting InvoicePlane delete endpoints such as Payments::delete or Recurring::stop, then lures a logged-in InvoicePlane administrator to open it. Because the POST routes never validate a CSRF token, the victim's browser silently submits the requests with the admin's session cookie, deleting financial records, clients, recurring invoices, email templates, or user assignments. No public exploit code is referenced, but the attack is trivial to build as a standard HTML CSRF form. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Cross-site request forgery in InvoicePlane versions prior to 1.7.2 lets an attacker force a logged-in administrator's browser to submit forged POST requests that permanently delete financial and configuration records - including payments, recurring invoices, client-user assignments, users, email templates, families, and import data. The destructive delete()/stop() methods omit the ensure_valid_post_request() CSRF token check that other parts of the application rely on, so although the routes accept only POST, they never validate the request's token; exploitation requires the victim administrator to visit attacker-controlled web content while holding a valid session (CVSS 3.1 6.5, AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N). No public exploit code or confirmed active exploitation was identified at time of analysis, and the integrity impact is bounded to records the admin session could already delete - there is no data exfiltration, and deleted records may be recoverable from backups.
RemediationAI
Upgrade to InvoicePlane 1.7.2 or later; this is a vendor-released patch (release tag v1.7.2) delivered via PR https://github.com/InvoicePlane/InvoicePlane/pull/1637 and commit 215b8c1acca7560d00b7e463fb1c6fe98235ab95, with details in advisory https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-9372-vj68-hmc3. If an immediate upgrade is not possible, apply layered compensating controls knowing that none fully substitutes for the token check: set the session cookie with SameSite=Lax or Strict (blocks most cross-site form POSTs in modern browsers, but can break legitimate cross-site integrations and older clients), and/or enforce an Origin/Referer allow-list at the reverse proxy for POST requests to the admin panel (effective against browser-driven CSRF but brittle for users behind privacy proxies that strip Referer). Restricting administrator access to a trusted IP range or VPN, and reminding admins to log out when browsing untrusted sites, reduces exposure but is operationally costly and does not remove the flaw. Because the missing check lives in application code, disabling individual modules (Payments, Recurring, User_clients, Email_templates, Families, Import) would only partially shrink the attack surface while degrading core invoicing functionality. Confirm post-fix behavior by verifying that delete/stop actions without a valid CSRF token are rejected with no state change, and retain restorable backups of financial records since successful exploitation is destructive rather than exfiltrating.
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
Root cause is CWE-352 (cross-site request forgery) in InvoicePlane, a self-hosted PHP invoicing/client/payment management application built on the CodeIgniter framework. The application has a centralized Base_Controller that performs a coarse URL-substring check for the string "delete" and enforces a POST + CSRF token validation helper, ensure_valid_post_request(). Destructive handlers whose method names or URLs do not match that substring pattern (Payments::delete(), Recurring::stop()/delete, User_clients::delete(), Users::delete_user_client(), and the delete paths reached via Email_templates, Families, and Import forms) were left without the token check. The routes still mandate HTTP POST, which defeats naive GET-based CSRF, but POST-only enforcement provides no protection against a cross-origin auto-submitting HTML form because no anti-CSRF token is compared and no SameSite/Origin check is performed. The upstream fix (PR #1637, commit 215b8c1acca7560d00b7e463fb1c6fe98235ab95, released in v1.7.2) inserts the ensure_valid_post_request() guard into seven form()/delete()/stop() methods across the email_templates, families, import, invoices/recurring, payments, user_clients, and users modules, restoring token validation at the handler level rather than relying on the URL-substring heuristic. The CPE cpe:2.3:a:invoiceplane:invoiceplane:*:*:*:*:*:*:*:* is version-wildcarded, so all releases up to and including 1.7.1 should be treated as affected in default configuration.
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:N/UI:R/S:U/C:N/I:H/A:N
Classic CSRF: attacker unprivileged (PR:N) abusing authed admin who must visit a malicious page (UI:R); deletion of records is an integrity loss (I:H) with no confidentiality and NVD scoring loss-of-data as I not A.
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. Prior to 1.7.2, InvoicePlane omits ensure_valid_post_request() from delete methods including Payments::delete(), Recurring::delete(), and User_clients::delete(). Although the routes require POST, they do not validate the request's CSRF token. An attacker can submit a cross-origin form through an authenticated administrator's browser to delete financial records and other application data. 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 Request Forgery exploits the automatic credential inclusion behavior of web browsers.
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-87126
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB