Skip to main content
← All vulnerabilities
CVE-2026-55561EUVD-2026-112549

InvoicePlane: Guest user IDOR in quote approval and rejection

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.7.2-beta-1
None on Exploit-DB, Metasploit or GitHub

Summary

InvoicePlane, a self-hosted open source invoicing application, is affected in its guest user portal. A guest user assigned to one client can approve or reject quotes belonging to other clients, which changes their status and triggers notification emails, and can also mark other clients' quotes as viewed.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • InvoicePlane InvoicePlane

    fixed in 1.7.2-beta-1

References 7

GitHub · InvoicePlane/InvoicePlane