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, 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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
InvoiceShelf InvoiceShelf
< 2.4.0affected
References
- https://github.com/InvoiceShelf/InvoiceShelf/security/advisories/GHSA-mfxg-qphw-3f3g ↗
- https://github.com/InvoiceShelf/InvoiceShelf/pull/664 ↗
- https://github.com/InvoiceShelf/InvoiceShelf/commit/d615cfb4ff4841a3b8cda7fc850a2bb335521fe5 ↗
- https://github.com/InvoiceShelf/InvoiceShelf/releases/tag/2.4.0 ↗