# CVE-2026-46489: SolidInvoice stored XSS via unrestricted logo upload

Source: https://junglewise.ai/threats/cve-2026-46489-solidinvoice-stored-xss-via-unrestricted-logo-upload  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-11. Updated: 2026-06-11  
License: CC BY 4.0 with a link back

CVE-2026-46489 · Severity: high · CVSS 8.1 · Published 2026-06-11

SolidInvoice, an open-source invoicing platform, contains a security flaw in its company logo upload feature. An administrator can upload a malicious image file containing hidden code that then runs in the browsers of all other users who visit the site. This could allow an attacker to steal session cookies, hijack accounts, or access sensitive financial data across the entire organization.

Technologies: [SolidInvoice](https://junglewise.ai/threats/technologies/solidinvoice). Vendors: [SolidInvoice](https://junglewise.ai/threats/vendors/solidinvoice).

## Quick answers

**Is CVE-2026-46489 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-46489 being exploited in the wild.

**How severe is CVE-2026-46489?** High severity, with a CVSS score of 8.1, published 11 June 2026.

**Which products and versions are affected?** SolidInvoice <= 2.3.16.

**Is there a fix for CVE-2026-46489?** A patch was published on 2026-05-15: Fix committed to repository Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-46489 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-46489?** Check whether you run SolidInvoice at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

SolidInvoice prior to version 2.3.17 is vulnerable to stored cross-site scripting (XSS) due to unrestricted file uploads in the company logo feature. The 'ImageUploadType' form component fails to validate MIME types or file extensions, allowing an authenticated administrator to upload SVG files containing embedded JavaScript. The application base64-encodes the file content and injects it unescaped into a data URI within a Twig template marked as 'is_safe'. Because the logo is rendered on nearly every page of the application, the malicious script executes in the context of any authenticated user's session. This allows for session hijacking and full account takeover. The issue is fixed in version 2.3.17 by implementing strict MIME type validation and excluding SVG support.

## Affected products

- SolidInvoice SolidInvoice <= 2.3.16

## Timeline

- 2026-05-15: patched: Fix committed to repository
- 2026-05-18: advisory: GitHub Security Advisory published
- 2026-06-11: disclosed: CVE published to NVD

## References

- [https://github.com/SolidInvoice/SolidInvoice/commit/8196c64df58b1226739f6ec4097fd6e7ba757860](https://github.com/SolidInvoice/SolidInvoice/commit/8196c64df58b1226739f6ec4097fd6e7ba757860)
- [https://github.com/SolidInvoice/SolidInvoice/releases/tag/2.3.17](https://github.com/SolidInvoice/SolidInvoice/releases/tag/2.3.17)
- [https://github.com/SolidInvoice/SolidInvoice/security/advisories/GHSA-mqwm-r4g8-wf4w](https://github.com/SolidInvoice/SolidInvoice/security/advisories/GHSA-mqwm-r4g8-wf4w)

## Related threats

- [SolidInvoice authorization bypass in API token history grid](https://junglewise.ai/threats/cve-2026-61688-solidinvoice-authorization-bypass-in-api-token-history-grid)
- [SolidInvoice DataGrid unserialize() deserialization vulnerability](https://junglewise.ai/threats/cve-2026-61686-solidinvoice-datagrid-unserialize-deserialization-vulnerability)
- [SolidInvoice REST API credential exposure via query parameter](https://junglewise.ai/threats/cve-2026-61614-solidinvoice-rest-api-credential-exposure-via-query-parameter)
- [SolidInvoice user invitation indefinite validity](https://junglewise.ai/threats/cve-2026-61608-solidinvoice-user-invitation-indefinite-validity)
- [SolidInvoice IDOR in LiveComponent allows cross-user data access](https://junglewise.ai/threats/solidinvoice-idor-in-livecomponent-allows-cross-user-data-access-95c68549)
