Invoice Ninja Denylist Bypass may Lead to Stored XSS via Invoice Line Items
Moderate severity
GitHub Reviewed
Published
Mar 22, 2026
in
invoiceninja/invoiceninja
•
Updated Mar 27, 2026
Description
Published to the GitHub Advisory Database
Mar 24, 2026
Reviewed
Mar 24, 2026
Published by the National Vulnerability Database
Mar 26, 2026
Last updated
Mar 27, 2026
Vulnerability Details
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.Steps to Reproduce
<img src=x onerror=alert(document.cookie)>Impact
Proposed Fix
Fixed in v5.13.4 by the vendor by adding
purify::clean()to sanitize line item descriptions.References