CVE-2026-55561 json
InvoicePlane: Guest user IDOR in quote approval and rejection
published last mo. modified 9d ago also EUVD-2026-112549 , GHSA-6xj3-274m-4mvg
Unreviewed: the maintainers' own advisory
Published by the maintainers on their GitHub repository InvoicePlane/InvoicePlane. GitHub has not reviewed it into the GitHub Advisory Database, so the affected packages and versions are the maintainers' word. Read the full advisory on GitHub.
- cvss
- 5.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2-beta-1, guest users can approve or reject quotes belonging to any client, not just their assigned clients. The `approve()` and `reject()` methods in the Guest Quotes controller, `application/modules/guest/controllers/Quotes.php`, call `approve_quote_by_id($quote_id)` and `reject_quote_by_id($quote_id)` directly without the `where_in('ip_quotes.client_id', $this->user_clients)` scoping that sibling methods use. A guest user assigned to one client can change another client's quote status by supplying sequential integer `quote_id` values, and `email_quote_status()` also sends notification emails. Additionally, `generate_pdf()` calls `mark_viewed($quote_id)` before checking the client scope, allowing a guest user to mark another client's quote as viewed. These issues are fixed in version 1.7.2-beta-1 and the subsequent stable version 1.7.2.
Patch / fix
- invoiceplane invoiceplane 1.7.2-beta-1
- github.com/InvoicePlane/InvoicePlane@424dc44 commit
- github.com/InvoicePlane/InvoicePlane@fca7792 commit
- github.com/InvoicePlane/InvoicePlane#1413 pull request
- github.com/InvoicePlane/InvoicePlane#1471 pull request
- github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2 release
- github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2-beta-1 release
Is CVE-2026-55561 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 9d ago
Exploit prediction
0.28% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-6xj3-274m-4mvg referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 5.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- InvoicePlane InvoicePlane
Classification
- Weakness
-
- CWE-639 Authorization Bypass Through User-Controlled Key
References
- github.com /InvoicePlane/InvoicePlane/pull/1413
- github.com /InvoicePlane/InvoicePlane/pull/1471
- github.com /InvoicePlane/InvoicePlane/commit/424dc44eb54030b93176bb08cba07ba12d7ae451
- github.com /InvoicePlane/InvoicePlane/commit/fca7792a24de0a749d881cbbe4af6f58e9545d20
-
github.com
/InvoicePlane/InvoicePlane/security/advisories/GHSA-6xj3-274m-4mvg
exploit, advisory
- github.com /InvoicePlane/InvoicePlane/releases/tag/v1.7.2
- github.com /InvoicePlane/InvoicePlane/releases/tag/v1.7.2-beta-1
Sources
- CVE List CVE-2026-55561
- NVD CVE-2026-55561
- Maintainer advisory GHSA-6xj3-274m-4mvg
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of InvoicePlane/InvoicePlane published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.