Description
InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. In version 2.3.3 and earlier, InvoiceShelf bulk-delete request validation accepts record identifiers without consistently binding them to the authenticated user's company_id. The affected DeleteCustomersRequest, DeleteEstimatesRequest, DeleteExpensesRequest, DeleteInvoiceRequest, DeleteItemsRequest, DeletePaymentsRequest, and DeleteUserRequest validators check that identifiers exist but do not consistently check tenant ownership. An authenticated user can submit another company's identifier and delete cross-company records. This vulnerability is fixed in 2.4.0.
Published: 2026-10-14
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑tenant data deletion
Action: Patch Immediately
AI Analysis

Impact

In InvoiceShelf, the bulk‑delete API validates record identifiers but fails to enforce that those identifiers belong to the authenticated user's company. An authenticated user can therefore supply another company's identifiers and delete records belonging to that other tenant, resulting in unintended data loss and integrity compromise. This flaw is an authorization issue (CWE‑284) and a validation problem (CWE‑639).

Affected Systems

The vulnerability affects InvoiceShelf open‑source web and mobile applications with version 2.3.3 and earlier. The affected delete request validators are DeleteCustomersRequest, DeleteEstimatesRequest, DeleteExpensesRequest, DeleteInvoiceRequest, DeleteItemsRequest, DeletePaymentsRequest, and DeleteUserRequest. The problem was addressed in version 2.4.0.

Risk and Exploitability

The CVSS score of 7.2 classifies it as high severity. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires a valid authenticated session, but once authenticated the attacker can delete cross‑company data without further permissions, making the impact significant for organizations with multiple tenants.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to InvoiceShelf 2.4.0 or later.
  • If upgrading is not possible, restrict or disable bulk‑delete handling for cross‑company identifiers until a fix is applied.
  • Review and tighten role‑based access controls to limit delete privileges to users with appropriate tenant ownership.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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. In version 2.3.3 and earlier, InvoiceShelf bulk-delete request validation accepts record identifiers without consistently binding them to the authenticated user's company_id. The affected DeleteCustomersRequest, DeleteEstimatesRequest, DeleteExpensesRequest, DeleteInvoiceRequest, DeleteItemsRequest, DeletePaymentsRequest, and DeleteUserRequest validators check that identifiers exist but do not consistently check tenant ownership. An authenticated user can submit another company's identifier and delete cross-company records. This vulnerability is fixed in 2.4.0.
Title InvoiceShelf bulk deletion lacks company scoping
Weaknesses CWE-284
CWE-639
References
Metrics cvssV4_0

{'score': 7.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-15T15:56:54.563Z

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

Link: CVE-2026-55387

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-10-14T20:17:48.917

Link: CVE-2026-55387

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-15T13:30:02Z

Weaknesses
  • CWE-284

    Improper Access Control

  • CWE-639

    Authorization Bypass Through User-Controlled Key