# CVE-2026-61686: SolidInvoice DataGrid unserialize() deserialization vulnerability

Source: https://junglewise.ai/threats/cve-2026-61686-solidinvoice-datagrid-unserialize-deserialization-vulnerability  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-04. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-61686 · Severity: high · CVSS 7.5 · Published 2026-09-04

SolidInvoice is an open-source invoicing platform. A flaw in the DataGrid component allows authenticated users to submit specially crafted PHP serialized data that the application deserializes without proper validation. An attacker could exploit this to execute arbitrary code or access sensitive data stored on the server, depending on available vulnerabilities in the application's dependencies.

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

## Quick answers

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

**How severe is CVE-2026-61686?** High severity, with a CVSS score of 7.5, published 4 September 2026.

**Which products and versions are affected?** SolidInvoice < 3.0.1.

**Is there a fix for CVE-2026-61686?** A patch was published on 2026-06-23. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-61686 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-61686?** 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

The vulnerability is a PHP Object Injection (CWE-502: Deserialization of Untrusted Data) in the DataGrid LiveComponent's context prop handler. The `hydrateContext()` method calls `unserialize()` on client-supplied input after receiving it via a writable LiveComponent prop, even though it restricts instantiation to the `Ulid` class. An authenticated attacker can craft a serialized PHP payload and submit it through a LiveComponent update request to trigger deserialization. Depending on gadget chains present in the application's dependency graph, this could lead to arbitrary code execution or unauthorized file system access. The fix, released in version 3.0.1, replaces the serialize/unserialize pair with JSON encoding.

## Affected products

- SolidInvoice SolidInvoice < 3.0.1

## Timeline

- 2026-09-04: disclosed
- 2026-06-23: patched

## References

- [https://github.com/SolidInvoice/SolidInvoice/releases/tag/3.0.1](https://github.com/SolidInvoice/SolidInvoice/releases/tag/3.0.1)
- [https://github.com/SolidInvoice/SolidInvoice/security/advisories/GHSA-4gj8-frx2-gmp6](https://github.com/SolidInvoice/SolidInvoice/security/advisories/GHSA-4gj8-frx2-gmp6)

## 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 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)
- [SolidInvoice plaintext storage of API tokens](https://junglewise.ai/threats/cve-2026-46622-solidinvoice-plaintext-storage-of-api-tokens)
