Description
InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.4.0, POST /api/v1/estimates/{estimate}/convert-to-invoice in ConvertEstimateController authorizes only the caller's create-invoice ability and does not authorize access to the route-bound Estimate. Because route-model binding can resolve an estimate from any company, an authenticated user with create-invoice ability can copy another company's line items, prices, totals, taxes, notes, currency, and customer data into an invoice in the attacker's company. The victim company's configured conversion action reaches checkForEstimateConvertAction and can also change or delete the original estimate. This issue is fixed in version 2.4.0.
Published: 2026-10-14
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized data modification
Action: Patch
AI Analysis

Impact

The vulnerability is an IDOR in the estimate‑to‑invoice conversion route that allows any authenticated user with the create‑invoice privilege to invoke POST /api/v1/estimates/{estimate}/convert‑to‑invoice using any estimate ID. The controller only verifies the caller’s ability to create invoices, not that the estimate belongs to the caller’s company. An attacker can therefore view and copy all data from another company’s estimate—including line items, pricing, totals, taxes, notes, currency and customer details—and create a new invoice in their own company. The victim company’s conversion logic can also manipulate or delete the original estimate, compromising data integrity and potentially availability. This is an authorization bypass (CWE‑639).

Affected Systems

InvoiceShelf, the open‑source expense and invoicing application, is affected. All releases before version 2.4.0 contain the flaw; it was fixed in release 2.4.0 and later.

Risk and Exploitability

The CVSS score of 7.1 indicates a high‑severity vulnerability. EPSS data is not available and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is the authenticated API endpoint that requires the create‑invoice permission. Because the flaw permits internal users with that permission to access and manipulate estimates from other companies, it can be exploited in trusted environments unless mitigated. The missing access check on the estimate resource is the core weakness (CWE‑639).

Generated by OpenCVE AI on October 15, 2026 at 13:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade InvoiceShelf to version 2.4.0 or newer.
  • Restrict the create‑invoice permission so that users can only convert estimates that belong to their own company, and add an explicit authorization check for the estimate resource in the controller.
  • Implement monitoring or alerting for requests to the convert‑to‑invoice endpoint that target estimates outside the caller’s company, and block or investigate such activity.

Generated by OpenCVE AI on October 15, 2026 at 13:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 15 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 14 Oct 2026 19:45:00 +0000

Type Values Removed Values Added
Description InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.4.0, POST /api/v1/estimates/{estimate}/convert-to-invoice in ConvertEstimateController authorizes only the caller's create-invoice ability and does not authorize access to the route-bound Estimate. Because route-model binding can resolve an estimate from any company, an authenticated user with create-invoice ability can copy another company's line items, prices, totals, taxes, notes, currency, and customer data into an invoice in the attacker's company. The victim company's configured conversion action reaches checkForEstimateConvertAction and can also change or delete the original estimate. This issue is fixed in version 2.4.0.
Title InvoiceShelf: IDOR in InvoiceShelf estimate-to-invoice conversion allows any company user to read and tamper with other companies' estimates
Weaknesses CWE-639
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-15T14:17:15.000Z

Reserved: 2026-06-16T18:57:40.182Z

Link: CVE-2026-55381

cve-icon Vulnrichment

Updated: 2026-10-15T14:17:00.518Z

cve-icon NVD

Status : Received

Published: 2026-10-14T20:17:48.057

Modified: 2026-10-15T15:17:35.937

Link: CVE-2026-55381

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-15T14:00:07Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key