CVE-2026-100392

InvoicePlane: Primary Administrator Privilege Downgrade via `Users::form()` (Missing Object-Level Authorization)

Published Sep 28, 2026 CVSS 4.0 · 7 High EPSS < 1% KEV · Not listed
Description
InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. In version 1.7.2, Users::form() performs no object-level authorization check on user_id = 1. A Secondary Administrator (user_type = 1, user_id != 1) can rewrite the Primary Administrator's user_type to 2 (Guest / read-only), destroying the root account's privilege and locking the legitimate owner out of the instance. At time of publication, there are no publicly available patches.

Analysis

AI-generated

Technical impact

InvoicePlane 1.7.2 contains a missing object‑level authorization check in the Users::form() function. An account that has secondary administrator rights (user_type = 1) but is not the root administrator (user_id ≠ 1) can invoke this form to change the primary administrator’s user_type from 1 (Administrator) to 2 (Guest / read‑only). This change removes all administrative privileges and locks the legitimate owner out of the system, effectively causing a denial of service against the root account. The flaw is a Classic ‘Missing Authorization’ weakness (CWE‑863).

Affected Systems

InvoicePlane, version 1.7.2. The flaw is specific to this release; other versions have not been explicitly identified as affected.

Risk and Exploitability

The CVSS score of 7 indicates a medium‑high severity vulnerability. Although the EPSS score is not available, the absence of a KEV listing suggests that no widespread exploits are documented. The likely attack vector is via the web interface: an attacker must first authenticate as a secondary administrator, then submit a request to Users::form() with user_id set to 1 to downgrade the root account. Once executed, the attacker effectively removes all legitimate administrative access.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Revoke secondary administrator privileges or demote them to non‑admin roles to prevent access to the Users::form() endpoint.
  • Disable or restrict the ability to edit the primary administrator record in the application, ensuring that changes to user_id 1 require elevated verification or are blocked.
  • Apply the vendor’s patch or upgrade to a fixed release as soon as one is available.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Invoiceplane
Invoiceplane invoiceplane
Vendors & Products Invoiceplane
Invoiceplane invoiceplane
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, Users::form() performs no object-level authorization check on user_id = 1. A Secondary Administrator (user_type = 1, user_id != 1) can rewrite the Primary Administrator's user_type to 2 (Guest / read-only), destroying the root account's privilege and locking the legitimate owner out of the instance. At time of publication, there are no publicly available patches.
Title InvoicePlane: Primary Administrator Privilege Downgrade via `Users::form()` (Missing Object-Level Authorization)
Weaknesses CWE-863
References
Metrics cvssV4_0

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

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 29, 2026, 7:25 PM
Reserved
Sep 25, 2026, 8:08 PM
Status
Deferred
Published
Sep 28, 2026, 9:17 PM
Modified
Sep 30, 2026, 7:57 PM