Invoice Ninja is a source-available invoice, quote, project and time-tracking app built with Laravel. Invoice line item descriptions in Invoice Ninja v5.13.0 bypass the XSS denylist filter, allowing stored XSS payloads to execute when invoices are rendered in the PDF preview or client portal. The line item description field was not passed through `purify::clean()` before rendering. This is fixed in v5.13.4 by the vendor by adding `purify::clean()` to sanitize line item descriptions.

Project Subscriptions

No data.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-98wm-cxpw-847p Invoice Ninja Denylist Bypass may Lead to Stored XSS via Invoice Line Items
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Thu, 26 Mar 2026 21:15:00 +0000

Type Values Removed Values Added
Description Invoice Ninja is a source-available invoice, quote, project and time-tracking app built with Laravel. Invoice line item descriptions in Invoice Ninja v5.13.0 bypass the XSS denylist filter, allowing stored XSS payloads to execute when invoices are rendered in the PDF preview or client portal. The line item description field was not passed through `purify::clean()` before rendering. This is fixed in v5.13.4 by the vendor by adding `purify::clean()` to sanitize line item descriptions.
Title Invoice Ninja Denylist Bypass may Lead to Stored XSS via Invoice Line Items
Weaknesses CWE-116
CWE-184
CWE-79
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-26T20:48:45.739Z

Reserved: 2026-03-23T14:24:11.617Z

Link: CVE-2026-33628

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-03-26T21:17:07.113

Modified: 2026-03-26T21:17:07.113

Link: CVE-2026-33628

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.

Weaknesses