Skip to content
Heist/ feed
Back to feed
High

InvoiceShelf: SSRF in Payment Receipt PDF Rendering via Unsanitised HTML in Notes Field

Type: advisorySources: OSV

InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.2.0, a Server-Side Request Forgery (SSRF) vulnerability exists in the Payment receipt PDF generation module. User-supplied HTML in the payment Notes field is passed unsanitised to the Dompdf rendering library, which will fetch any remote resources referenced in the markup. The vulnerability is exploitable directly via the PDF receipt endpoint, regardless of whether automated email attachments are enabled. This issue has been patched in version 2.2.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-34366
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:29 UTC · Revision 1

Source evidence

InvoiceShelf: SSRF in Payment Receipt PDF Rendering via Unsanitised HTML in Notes Field

core-osv · Original source

Published 31 Mar 2026, 20:05 UTC

InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.2.0, a Server-Side Request Forgery (SSRF) vulnerability exists in the Payment receipt PDF generation module. User-supplied HTML in the payment Notes field is passed unsanitised to the Dompdf rendering library, which will fetch any remote resources referenced in the markup. The vulnerability is exploitable directly via the PDF receipt endpoint, regardless of whether automated email attachments are enabled. This issue has been patched in version 2.2.0.

osv:CVE-2026-34366
Complete source record
{
  "id": "fd05e1b651a8487b274940c3a710d35cb7349eab7485a9d489f0ca39e49509f2",
  "url": "https://osv.dev/vulnerability/CVE-2026-34366",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "InvoiceShelf: SSRF in Payment Receipt PDF Rendering via Unsanitised HTML in Notes Field",
    "summary": "InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.2.0, a Server-Side Request Forgery (SSRF) vulnerability exists in the Payment receipt PDF generation module. User-supplied HTML in the payment Notes field is passed unsanitised to the Dompdf rendering library, which will fetch any remote resources referenced in the markup. The vulnerability is exploitable directly via the PDF receipt endpoint, regardless of whether automated email attachments are enabled. This issue has been patched in version 2.2.0.",
    "evidence": "osv:CVE-2026-34366",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-34366",
      "aliases": [
        "CVE-2026-34366",
        "GHSA-38hf-fq8x-q49r"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/invoiceshelf/invoiceshelf",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "030c13b67a9a4adba56a1a96749cd92dcc6a4b1b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.2.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "030c13b67a9a4adba56a1a96749cd92dcc6a4b1b"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "2.2.0"
                  },
                  {
                    "cpe": "cpe:2.3:a:invoiceshelf:invoiceshelf:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.2.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.1.1",
            "2.1.0",
            "2.1.0-RC1",
            "2.0.0",
            "2.0.0-RC1",
            "1.3.0",
            "1.2.2",
            "1.2.1",
            "1.2.0",
            "1.1.0",
            "1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-34366.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.090609794Z",
      "provider": "osv",
      "references": [
        "https://github.com/InvoiceShelf/InvoiceShelf/releases/tag/2.2.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34366.json",
        "https://github.com/InvoiceShelf/InvoiceShelf/security/advisories/GHSA-38hf-fq8x-q49r",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-34366"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34366.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-34366",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493843,
  "published_at": "2026-03-31T20:05:57.318+00:00"
}