Description
InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. In version 1.7.2, an authorization guard to Users::change_password(), was added to address a previous authorization flaw that allowed a secondary administrator (user_type=1, user_id != 1) to directly change the password of the primary administrator (user_id=1) through users/change_password/{id}. That remediation, however, protects only the direct password-change operation. It does not protect the identity attribute that password recovery actually trusts: user_email. Users::form() applies no equivalent object-level authorization check when editing the primary administrator's account, and user_email is not included in PROTECTED_FIELDS. A secondary administrator can therefore rewrite the primary administrator's email address, then drive the public password-recovery flow — which resolves the account by user_email — to receive the reset token and take over user_id=1. The result is an alternate attack path that achieves the same impact PR #1638 was intended to prevent: cross-administrator full account takeover of the primary administrator. This issue has been patched via commit 8616fa4.
Published: 2026-09-28
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Primary Administrator Takeover
Action: Patch Now
AI Analysis

Impact

The flaw in InvoicePlane’s Users::form() lets a secondary administrator rewrite the primary administrator’s email because the form lacks an authorization guard and email is not listed as a protected field. By doing so the attacker can trigger the password recovery mechanism that issues a reset token based on the email address, thereby gaining the primary administrator’s account. This is an authentication bypass by user‑controlled key (CWE‑863) that can elevate a secondary administrator’s privileges to full system control.

Affected Systems

InvoicePlane (self‑hosted invoicing application) is affected. Vulnerable versions include 1.7.2 and earlier releases that have not incorporated the commit 8616fa4; the issue is addressed in later builds such as 1.7.3 or newer.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity, but the EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires an account with secondary administrator rights, which is typically restricted. Once such an account exists, the exploit can be performed exclusively through the application by editing the primary admin’s email and using the public password‑recovery flow—no remote code execution or network exposure is needed. Until the patch is applied, organizations that retain active secondary administrator accounts face high risk of administrative takeover.

Generated by OpenCVE AI on September 28, 2026 at 21:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a release that includes commit 8616fa4 (e.g., InvoicePlane 1.7.3 or newer) to enforce the missing authorization check in Users::form()
  • Until the patch is applied, disable the password‑recovery feature for the primary administrator account to block the reset token path
  • Revoke or remove secondary administrator privileges from all accounts until the patch is installed to eliminate the ability to alter the primary admin’s email

Generated by OpenCVE AI on September 28, 2026 at 21:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 29 Sep 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 28 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
First Time appeared Invoiceplane
Invoiceplane invoiceplane
Vendors & Products Invoiceplane
Invoiceplane invoiceplane

Mon, 28 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Description InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. In version 1.7.2, an authorization guard to Users::change_password(), was added to address a previous authorization flaw that allowed a secondary administrator (user_type=1, user_id != 1) to directly change the password of the primary administrator (user_id=1) through users/change_password/{id}. That remediation, however, protects only the direct password-change operation. It does not protect the identity attribute that password recovery actually trusts: user_email. Users::form() applies no equivalent object-level authorization check when editing the primary administrator's account, and user_email is not included in PROTECTED_FIELDS. A secondary administrator can therefore rewrite the primary administrator's email address, then drive the public password-recovery flow — which resolves the account by user_email — to receive the reset token and take over user_id=1. The result is an alternate attack path that achieves the same impact PR #1638 was intended to prevent: cross-administrator full account takeover of the primary administrator. This issue has been patched via commit 8616fa4.
Title InvoicePlane: Incomplete Authorization Remediation in Users::form() Enables Primary Administrator Account Takeover via Email Reassignment and Password Recovery
Weaknesses CWE-863
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Invoiceplane Invoiceplane
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-29T13:51:08.087Z

Reserved: 2026-09-25T19:19:54.699Z

Link: CVE-2026-100371

cve-icon Vulnrichment

Updated: 2026-09-29T13:51:04.059Z

cve-icon NVD

Status : Deferred

Published: 2026-09-28T21:17:11.653

Modified: 2026-09-30T19:57:08.043

Link: CVE-2026-100371

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-28T21:45:06Z

Weaknesses