{"id":"CVE-2026-61686","aliases":["EUVD-2026-71621","GHSA-4gj8-frx2-gmp6"],"status":"published","title":"SolidInvoice: PHP unserialize() called on client-controlled data in DataGrid LiveComponent context prop","description":"SolidInvoice is an open-source invoicing platform. Prior to version 3.0.1, the `DataGrid` LiveComponent deserializes a `context` prop value using PHP's `unserialize()` after receiving it from the client. Because the prop is marked `writable: true`, an authenticated attacker can supply an arbitrary PHP serialized payload. Version 3.0.1 fixes the issue.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0045,"percentile":0.3953,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-502"],"published":"2026-09-04T17:43:56Z","modified":"2026-10-28T02:30:39Z","products":[{"vendor":"solidinvoice","product":"solidinvoice"}],"references":[{"url":"https://github.com/SolidInvoice/SolidInvoice/security/advisories/GHSA-4gj8-frx2-gmp6","tags":["x_refsource_CONFIRM","exploit","advisory"]},{"url":"https://github.com/SolidInvoice/SolidInvoice/releases/tag/3.0.1","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61686.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61686","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-61686","title":"SolidInvoice: PHP unserialize() called on client-controlled data in DataGrid LiveComponent context prop","description":"SolidInvoice is an open-source invoicing platform. Prior to version 3.0.1, the `DataGrid` LiveComponent deserializes a `context` prop value using PHP's `unserialize()` after receiving it from the client. Because the prop is marked `writable: true`, an authenticated attacker can supply an arbitrary PHP serialized payload. Version 3.0.1 fixes the issue.","status":"published","published":"2026-09-04T17:43:56.674Z","modified":"2026-09-04T18:41:01.503Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:19:53.4444Z"}],"euvd":[{"id":"EUVD-2026-71621","description":"SolidInvoice is an open-source invoicing platform. Prior to version 3.0.1, the `DataGrid` LiveComponent deserializes a `context` prop value using PHP's `unserialize()` after receiving it from the client. Because the prop is marked `writable: true`, an authenticated attacker can supply an arbitrary PHP serialized payload. Version 3.0.1 fixes the issue.","status":"published","published":"2026-09-04T17:43:56Z","modified":"2026-09-04T18:41:01Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T18:01:11.238356Z"}],"nvd":[{"id":"CVE-2026-61686","description":"SolidInvoice is an open-source invoicing platform. Prior to version 3.0.1, the `DataGrid` LiveComponent deserializes a `context` prop value using PHP's `unserialize()` after receiving it from the client. Because the prop is marked `writable: true`, an authenticated attacker can supply an arbitrary PHP serialized payload. Version 3.0.1 fixes the issue.","status":"published","published":"2026-09-04T18:17:55.437Z","modified":"2026-09-10T15:13:07.09Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:12:44.082631Z"}],"osv":[{"id":"CVE-2026-61686","title":"SolidInvoice: PHP unserialize() called on client-controlled data in DataGrid LiveComponent context prop","description":"SolidInvoice is an open-source invoicing platform. Prior to version 3.0.1, the `DataGrid` LiveComponent deserializes a `context` prop value using PHP's `unserialize()` after receiving it from the client. Because the prop is marked `writable: true`, an authenticated attacker can supply an arbitrary PHP serialized payload. Version 3.0.1 fixes the issue.","status":"published","published":"2026-09-04T17:43:56.674Z","modified":"2026-10-28T02:30:39.629971061Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:45:12.933503Z"}]}}
