InvoicePlane: Guest user IDOR in quote approval and rejection
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Reports 1
1 outlet mention it. Reports are not confirmation; each links to its source.
Description
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.
Text from CVE List
Affected versions 1
- InvoicePlaneaffected: < 1.7.2-beta-1CVE List
References 7
- github.com/InvoicePlane/InvoicePlane/commit/424dc44eb54030b93176bb08cba07ba12d7ae451Fixvia CVE List
- github.com/InvoicePlane/InvoicePlane/commit/fca7792a24de0a749d881cbbe4af6f58e9545d20Fixvia CVE List
- github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2Fixvia CVE List
- github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2-beta-1Fixvia CVE List
- github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-6xj3-274m-4mvgAdvisoryvia CVE List
- github.com/InvoicePlane/InvoicePlane/pull/1413Referencevia CVE List
- github.com/InvoicePlane/InvoicePlane/pull/1471Referencevia CVE List