CVE-2026-33628
March 26, 2026
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.
Affected Packages
https://github.com/invoiceninja/invoiceninja.git (GITHUB):
Affected version(s) >=v1.0.2 <v5.13.4Fix Suggestion:
Update to version v5.13.4https://github.com/invoiceninja/invoiceninja.git (GITHUB):
Affected version(s) >=v1.0.2 <v5.13.4Fix Suggestion:
Update to version v5.13.4https://github.com/invoiceninja/invoiceninja.git (GITHUB):
Affected version(s) >=v1.0.2 <v5.13.4Fix Suggestion:
Update to version v5.13.4Related ResourcesĀ (5)
Do you need more information?
Contact UsCVSS v4
Base Score:
5.1
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
PASSIVE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
LOW
Vulnerable System Availability
NONE
Subsequent System Confidentiality
LOW
Subsequent System Integrity
LOW
Subsequent System Availability
NONE
CVSS v3
Base Score:
5.4
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality
LOW
Integrity
LOW
Availability
NONE
Weakness Type (CWE)
EPSS
Base Score:
0.04