InvoiceShelf bulk deletion lacks company scoping
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
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.
Text from CVE List
Affected versions 1
- InvoiceShelfaffected: < 2.4.0CVE List
References 4
- github.com/InvoiceShelf/InvoiceShelf/commit/e432e4e62f5aa52238e3ff3fc37a0c78588eec47Fixvia CVE List
- github.com/InvoiceShelf/InvoiceShelf/releases/tag/2.4.0Fixvia CVE List
- github.com/InvoiceShelf/InvoiceShelf/security/advisories/GHSA-wxrv-73x6-8r62Exploitvia CVE List
- github.com/InvoiceShelf/InvoiceShelf/pull/661Referencevia CVE List