Severity by source
AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Network-reachable admin upload (AV:N/AC:L/PR:H), victim must load a page (UI:R), payload executes in other users' browser context (S:C) compromising session confidentiality and integrity (C:H/I:H), no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
SolidInvoice is an open-source invoicing platform. Prior to version 2.3.17, the company logo upload feature accepts any file type without validation. An authenticated administrator can upload an SVG file containing embedded JavaScript. This script is base64-encoded and injected unescaped into every page of the application, causing stored cross-site scripting (XSS) that executes in every authenticated user's browser. This issue has been patched in version 2.3.17.
AnalysisAI
Stored cross-site scripting in SolidInvoice prior to 2.3.17 allows an authenticated administrator to upload a malicious SVG as the company logo, with the file's contents being base64-encoded and injected unescaped into every page of the application. The embedded JavaScript executes in every authenticated user's browser session, enabling session hijacking and privileged action abuse across the tenant. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.
Technical ContextAI
SolidInvoice is an open-source PHP/Symfony-based invoicing platform (CPE cpe:2.3:a:solidinvoice:solidinvoice). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the logo upload handler performs no MIME or content-type validation, so SVG - an XML-based image format that natively supports <script> tags and event handlers - is accepted alongside raster image types. The uploaded file is then base64-encoded and emitted into the page template (likely as a data: URI or inline element) without contextual output escaping, so any JavaScript contained in the SVG is parsed and executed by the browser on every authenticated page load.
RemediationAI
Vendor-released patch: upgrade SolidInvoice to version 2.3.17 or later, which contains the fix at commit 8196c64df58b1226739f6ec4097fd6e7ba757860 and is published at https://github.com/SolidInvoice/SolidInvoice/releases/tag/2.3.17; review the advisory at https://github.com/SolidInvoice/SolidInvoice/security/advisories/GHSA-mqwm-r4g8-wf4w. Where immediate upgrade is not possible, remove or replace any logo currently configured by an untrusted admin, restrict the administrator role to a minimal set of trusted users, and consider blocking SVG uploads at a reverse proxy or WAF by rejecting Content-Type image/svg+xml and any uploaded file whose contents begin with <?xml or <svg on the logo upload endpoint - the trade-off is that legitimate SVG logos will no longer render and must be re-uploaded as PNG/JPEG. As an additional in-browser mitigation, enforce a strict Content-Security-Policy that disallows inline script execution and data: URIs in script contexts, accepting that this may break other inline scripts in the application until the patched version is deployed.
More in Solidinvoice
View allSolidInvoice version 2.3.7 is vulnerable to a stored cross-site scripting (XSS) issue in the Clients module. Rated mediu
Plaintext credential exposure in SolidInvoice open-source invoicing platform prior to 2.3.17 allows any actor with read
PHP object deserialization in SolidInvoice's DataGrid LiveComponent prior to version 3.0.1 allows authenticated low-priv
Invitation links in SolidInvoice prior to version 3.0.1 never expire because UserInvitation entities carry no expiry tim
Cross-user API history disclosure in SolidInvoice prior to version 3.0.1 allows any authenticated company member to read
A security flaw has been discovered in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is
A vulnerability was identified in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remo
A vulnerability was determined in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remo
A vulnerability was found in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remotely
A vulnerability has been found in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remo
SolidInvoice's REST API authenticator, in all versions prior to 3.0.1, silently accepts long-lived bearer tokens via a `
SolidInvoice version 2.3.7 is vulnerable to a Stored Cross-Site Scripting (XSS) issue in the Tax Rates functionality. Ra
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36303