CVE-2026-34366
SSRF Vulnerability in InvoiceShelf PDF Receipt Generation Module
Publication date: 2026-03-31
Last updated on: 2026-04-07
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| invoiceshelf | invoiceshelf | to 2.2.0 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-918 | The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a Server-Side Request Forgery (SSRF) found in InvoiceShelf versions prior to 2.2.0. It occurs in the Payment receipt PDF generation module where user-supplied HTML in the payment Notes field is passed without sanitization to the Dompdf rendering library. Because Dompdf fetches any remote resources referenced in the HTML markup, an attacker can exploit this to make the server request arbitrary remote resources.
How can this vulnerability impact me? :
This vulnerability can allow an attacker to make the server perform unauthorized requests to internal or external systems, potentially exposing sensitive information or enabling further attacks. Since the vulnerability is exploitable directly via the PDF receipt endpoint, it can be triggered regardless of whether automated email attachments are enabled. The CVSS score indicates a high impact on confidentiality and some impact on integrity.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability exists in InvoiceShelf versions prior to 2.2.0 and is caused by unsanitised user-supplied HTML in the payment Notes field being passed to the Dompdf rendering library.
To mitigate this vulnerability immediately, upgrade InvoiceShelf to version 2.2.0 or later, where the issue has been patched.