Skip to main content

InvoicePlane CVE-2026-85291

| EUVDEUVD-2026-87127 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-25 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as secondary admin
  2. Delivery
    Craft change_password POST with primary admin user_id
  3. Exploit
    Missing object-level authz check accepts request
  4. Execution
    Primary admin password overwritten
  5. Impact
    Log 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

InvoicePlane < 1.7.2

Affected Packages

euvd invoiceplane fix: 1.7.2

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

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Sep 25, 2026 - 17:04 EUVD

DescriptionCVE.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

EPSS Score
0.3%
Top 85% exploitable
Prevalence
Low
niche self-hosted open-source PHP invoicing app, no enterprise footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-67084 CRITICAL POC
9.9 Jan 15

InvoicePlane through 1.6.3 allows authenticated users to upload PHP files as attachments that can be executed remotely.

CVE-2026-25548 CRITICAL POC
9.1 Feb 18

Remote Code Execution in InvoicePlane self-hosted invoicing application through code injection. PoC and patch available.

CVE-2017-1000238 HIGH POC
8.8 Nov 17

InvoicePlane version 1.4.10 is vulnerable to a Arbitrary File Upload resulting in an authenticated user can upload a mal

CVE-2021-29024 HIGH POC
7.5 May 17

In InvoicePlane 1.5.11 a misconfigured web server allows unauthenticated directory listing and file download. Rated high

CVE-2026-23491 HIGH POC
7.5 Feb 18

Unauthenticated attackers can read arbitrary files from InvoicePlane servers through path traversal in the Guest control

CVE-2025-67082 MEDIUM POC
6.5 Jan 15

An SQL injection vulnerability in InvoicePlane through 1.6.3 has been identified in "maxQuantity" and "minQuantity" para

CVE-2024-56975 CRITICAL
9.8 Mar 28

InvoicePlane (all versions tested as of December 2024) v.1.6.11 and before contains a remote code execution vulnerabilit

CVE-2023-23011 MEDIUM POC
6.1 Feb 07

Cross Site Scripting (XSS) vulnerability in InvoicePlane 1.6 via filter_product input to file modal_product_lookups.php.

CVE-2018-12255 MEDIUM POC
6.1 Jul 03

An XSS issue was discovered in InvoicePlane 1.5.10 via the "Quote PDF Password(Optional)" field. Rated medium severity (

CVE-2026-24745 MEDIUM POC
5.7 Feb 18

Stored XSS via SVG file upload in InvoicePlane 1.7.0 Login Logo functionality allows authenticated administrators to inj

CVE-2026-24744 MEDIUM POC
5.7 Feb 18

Stored XSS in InvoicePlane 1.7.0's invoice editing function fails to sanitize the invoice_number parameter, allowing aut

CVE-2026-24743 MEDIUM POC
5.7 Feb 18

Stored XSS in InvoicePlane 1.7.0 via malicious SVG file upload in the Invoice Logo function allows authenticated adminis

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy