Approved changes feed: RSS · Atom

cpe:2.3:a:invoiceshelf:invoiceshelf:*:*:*:*:*:*:*:*

part: a version: * update: *

VendorInvoiceshelf (3255d1d8-3f63-5e74-bfdb-b5844fb4c78c)
ProductInvoiceshelf (9ac89282-4fb7-58b1-a9dd-73df055159a8)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*

Notes

Imported from gcve-enriched-dumps CVE data

PURL mappings

PURLSourceLast updated
pkg:github/invoiceshelf/invoiceshelf purl2cpe 2026-07-28 16:41:11.758971

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2026-55386 vulnerable 2026-11-03 10:16:34.422764 InvoiceShelf ORDER BY SQL injection through orderByField
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, InvoiceShelf passes the authenticated user's orderByField query parameter into Laravel orderBy calls in Invoice::scopeApplyFilters without restricting the value to column identifiers. A crafted SQL expression can therefore enter the ORDER BY clause across invoice and other list endpoints, enabling boolean-based blind extraction of database information. This issue is fixed in version 2.4.0.
Published: 2026-10-14T19:18:57.322Z
Updated: 2026-10-14T19:44:29.460Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-55382 vulnerable 2026-11-03 10:16:34.373625 InvoiceShelf: Cross-company read/modify/delete of notes via missing company scope in NotePolicy (BOLA/IDOR)
HIGH (7.6)
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, InvoiceShelf NotesController::show, NotesController::update, and NotesController::destroy authorize only the generic view notes or manage notes ability and do not pass the route-bound Note to NotePolicy::viewNotes or NotePolicy::manageNotes, so neither method checks the target note's company_id. Because the Note model has no global company scope, an authenticated staff user with ordinary note abilities can select another company's sequential note identifier and read, modify, or delete its reusable invoice, estimate, and payment note templates. This issue is fixed in version 2.4.0.
Published: 2026-10-14T19:27:00.216Z
Updated: 2026-10-15T15:05:40.789Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-55387 vulnerable 2026-11-03 10:16:34.290407 InvoiceShelf bulk deletion lacks company scoping
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-14T19:21:49.520Z
Updated: 2026-10-15T15:56:54.563Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-55383 vulnerable 2026-11-03 10:16:34.264802 InvoiceShelf: Public EmailLog token type confusion allows cross-company invoice disclosure
HIGH (8.2)
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, InvoiceShelf public customer invoice, estimate, and payment routes use an EmailLog token's numeric mailable_id without verifying mailable_type, and the JSON handlers do not enforce EmailLog::isExpired. A token issued for one document type can therefore disclose a different company's document when numeric identifiers collide, and an expired token can remain usable on the JSON routes GET /customer/invoices/{email_log:token}, GET /customer/estimates/{email_log:token}, and GET /customer/payments/{email_log:token}. View handlers can also mark a mismatched invoice or estimate as viewed and send a notification. This issue is fixed in version 2.4.0.
Published: 2026-10-14T19:23:33.527Z
Updated: 2026-10-14T19:43:41.543Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-55385 vulnerable 2026-11-03 10:16:34.064977 InvoiceShelf: SSRF via unvalidated Gotenberg PDF renderer host in PDF configuration
MEDIUM (6.8)
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, InvoiceShelf's PDFConfigurationRequest.php validates the owner-controlled gotenberg_host setting only as a syntactically valid URL. GotenbergPDFDriver::loadView later sends a multipart HTTP request containing rendered invoice, estimate, or payment HTML as document.html to that host without rejecting private, loopback, link-local, or reserved addresses. An owner can use PDF generation to reach internal services or cloud metadata endpoints, and a configured external host receives customer names, addresses, line items, totals, and company identifiers from subsequent PDF renders. This issue is fixed in version 2.4.0.
Published: 2026-10-14T19:25:32.410Z
Updated: 2026-10-20T02:02:13.638Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-55381 vulnerable 2026-11-03 10:16:33.926864 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-55384 vulnerable 2026-11-03 10:16:33.430345 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-34367 vulnerable 2026-06-08 07:59:12.435959 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-34366 vulnerable 2026-06-08 07:59:12.435708 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-34365 vulnerable 2026-06-08 07:59:12.435391 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.

Inspect record JSON

Open JSON directly

Open this panel to browse, search, copy or download the JSON record.