{"id":"CVE-2026-88003","summary":"InvoicePlane: Failure to Revoke Administrative Privileges  After Role Downgrade","details":"InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane fails to revoke administrative privileges after a role downgrade because Admin_Controller trusts the user_type snapshot stored in an existing session instead of revalidating ip_users.user_type. When one administrator downgrades another account, the target's active session continues to authorize administrative requests. The downgraded user can use Users::form() to set user_type back to 1, restoring the database role and making the privilege escalation persistent. This vulnerability is fixed in 1.7.2.","aliases":["GHSA-25xj-pj36-wpp8"],"modified":"2026-09-27T03:47:28.802867562Z","published":"2026-09-25T21:20:13.236Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-863"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88003.json"},"references":[{"type":"WEB","url":"https://github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88003.json"},{"type":"ADVISORY","url":"https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-25xj-pj36-wpp8"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-88003"},{"type":"FIX","url":"https://github.com/InvoicePlane/InvoicePlane/commit/904847f4e87b66fd6743cf9cc6f88b66c7fc3b81"},{"type":"FIX","url":"https://github.com/InvoicePlane/InvoicePlane/commit/daa49ce3a50e0c93e01459b69c0d61bfc23d23eb"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/invoiceplane/invoiceplane","events":[{"introduced":"0"},{"fixed":"904847f4e87b66fd6743cf9cc6f88b66c7fc3b81"},{"fixed":"daa49ce3a50e0c93e01459b69c0d61bfc23d23eb"},{"fixed":"aaeea1e4825785c6138fa84be49ac373bac4f0af"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.7.2"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v1.7.2-rc-2","v1.7.2-rc-1","v1.7.2-beta-1","v1.6.5","v1.6.4-beta-1","v1.6.3","v1.6.3-rc2","v1.6.3-rc1","v1.6.3-rc0","v1.6.2-beta-3","v1.6.2-beta-2","v1.6.2-beta-1","v1.6.1","v1.6.0","v1.6.1-beta-3","v1.6.1-beta-2","v1.6.1-beta-1","v1.6.1-alpha-1","v1.6-beta-3","v1.6-beta-2","v1.6-beta-1","v1.6-beta","v1.5.10","v1.5.9","v1.5.8","v1.5.7","v1.5.6","v1.5.5","v1.5.4","v1.5.3","v1.5.2","v1.5.1","v1.5.0","v1.4.10","v1.4.9","v1.4.8","v1.4.7","v1.4.6","v1.4.5","v1.4.4","v1.4.3","v1.4.2","v1.4.1","v1.4.0","v1.2.0","v1.1.0","v1.0.1","v1.0.0","0.9beta"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88003.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}