Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as secondary admin
-
DeliveryCraft change_password POST with primary admin user_id
-
ExploitMissing object-level authz check accepts request
-
ExecutionPrimary admin password overwritten
-
ImpactLog in and take over primary account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires an authenticated administrator account (a secondary/additional admin) on an InvoicePlane instance prior to 1.7.2, plus the existence of at least one other administrator account (e.g., the primary administrator) to target. The attacker sends a direct POST to the Users::change_password()/user form endpoint with the victim's user_id in the URL; the pre-1.7.2 code performs the password update with no check that user_id matches the requester's own session user_id. Limiting factors: requires prior privileged (admin) access, so this is an insider or lateral-movement / privilege-consolidation flaw rather than unauthenticated remote takeover; it also requires a multi-admin deployment for the primary-admin escalation to be meaningful. It does not require user interaction or knowledge of the target's current password. |
| Impact | This is a genuine but privilege-gated authorization flaw (CWE-639, IDOR) rather than a high-urgency remote threat. The CVSS 3.1 vector AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N scores 6.5 (Medium): network-reachable and low-complexity, but explicitly requiring high privileges - the attacker must already be an authenticated administrator (a 'secondary administrator' in the description). No EPSS score, no CISA KEV listing, and no public exploit code are present in the input, so exploitation status is 'no public exploit identified at time of analysis.' The signals are internally consistent: the PR:H requirement plus a niche self-hosted product footprint argues against widespread opportunistic exploitation, and the absence of KEV/EPSS/POC supports treating this as a lower-priority patch rather than an emergency. The real risk is an insider/lateral-movement scenario - a lesser admin seizing the primary administrator account. Patch availability is confirmed (v1.7.2, commit 7af2cdd), which favors routine remediation. Note the C:H/I:H rating reflects full takeover of the targeted account's data and privileges, which is defensible given the primary-admin target. |
| Exploit ScenarioDerived | An organization runs InvoicePlane with more than one administrator account. A secondary/lower-trust administrator sends a crafted POST to the Users::change_password() endpoint supplying the primary administrator's user_id, and - because no object-level authorization check exists - resets that account's password without knowing the current one, then logs in to take over the primary admin account. No public exploit code is identified in the provided intelligence. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
An insecure direct object reference in InvoicePlane's Users::change_password() endpoint (prior to 1.7.2) lets an authenticated secondary administrator replace the password of any other user account - most critically the primary administrator - without knowing or supplying the current password, resulting in full takeover of that account and its privileges. Exploitation requires an existing administrator-level session (CVSS PR:H) and a deployment with at least one other admin account to target, so this is a privilege-consolidation/lateral-movement flaw rather than an unauthenticated remote takeover; no public exploit code was identified at time of analysis and the issue is not confirmed as actively exploited. Vendor-released patch: 1.7.2.
RemediationAI
Upgrade to InvoicePlane 1.7.2 or later, which contains the object-level authorization check in Users::change_password() and the restricted edit-form view (commit 7af2cdd1138ab5e9cd4d95333180e617aecc86cf, release v1.7.2, advisory GHSA-x38q-xhjj-jr8w); this is the only complete fix and should be applied before any further admin logins are trusted. If immediate upgrade is not possible, compensating controls include collapsing the instance to a single administrator account so there is no higher-privileged target to hijack (trade-off: loss of administrative redundancy and separation of duties), auditing and, where possible, removing secondary admin accounts or downgrading them to non-privileged roles (trade-off: reduced operational flexibility), placing a reverse-proxy or WAF rule in front of the application that rejects POSTs to the users/change_password and user-form routes whose user_id parameter does not match the authenticated session identity (trade-off: rule maintenance and possible breakage of legitimate admin workflows), and forcing a credential reset plus session invalidation for all administrator accounts with monitoring of unexpected password-change events and out-of-band alerts for admin logins (trade-off: only detects the takeover after the fact rather than preventing it). Note that because the attacker already holds admin rights, network segmentation and generic input filtering offer little protection - the effective mitigations are the patch and reducing the number of privileged accounts that can be targeted.
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
InvoicePlane is a self-hosted PHP application built on the CodeIgniter framework for invoice, client and payment management. The flaw is an instance of CWE-639 (Authorization Bypass Through User-Controlled Key), a classic IDOR: the Users controller's change_password()/user form endpoint derived the target account from a user_id supplied in the request URL but never compared that value against the caller's own session user_id. The upstream fix in commit 7af2cdd1138ab5e9cd4d95333180e617aecc86cf adds an explicit guard in application/modules/users/controllers/Users.php - if ((string) $user_id !== (string) $this->session->userdata('user_id')) show_error(trans('access_denied'), 403) - and tightens application/modules/users/views/form.php so the edit form is only rendered when the session user_id matches the record id, moving the template's 'Edit user' branch to an elseif keyed on ownership. Because the pre-fix code path performed the password update directly from the POST without a current-password re-authentication step and without ownership validation, any admin could overwrite another admin's credential material and then log in as that principal. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N reflects network reachability with no user interaction, but high privileges required and full confidentiality and integrity impact on the compromised account, with no availability impact.
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:N/S:U/C:H/I:H/A:N
Attacker must already hold an authenticated admin account (PR:H) but the missing authz check is trivially triggered over the network (AC:L); account takeover yields full C:H/I:H, no direct 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. Prior to 1.7.2, InvoicePlane's Users::change_password() method accepts a user_id from the URL and updates that account's password without an object-level authorization check. An authenticated secondary administrator can target the primary administrator account and replace its password without knowing the current password. The attacker can then take over the primary account and access its data and privileges. 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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-87127
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB