{"schemaVersion":3,"id":"CVE-2026-23524","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Laravel Reverb provides a real-time WebSocket communication backend for Laravel applications. In versions 1.6.3 and below, Reverb passes data from the Redis channel directly into PHP’s unserialize() function without restricting which classes can be instantiated, which leaves users vulnerable to Remote Code Execution. The exploitability of this vulnerability is increased because Redis servers are commonly deployed without authentication, but only affects Laravel Reverb when horizontal scaling is enabled (REVERB_SCALING_ENABLED=true). This issue has been fixed in version 1.7.0. As a workaround, require a strong password for Redis access and ensure the service is only accessible via a private network or local loopback, and/or set REVERB_SCALING_ENABLED=false to bypass the vulnerable logic entirely (if the environment uses only one Reverb node).","dates":{"published":"2026-01-21T22:07:55.682Z","modified":"2026-01-22T16:49:37.182Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.8,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00976,"percentile":0.61703,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":-0.014000000000000123,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.0099},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00912,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00912,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00912,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00912,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00976,"percentile":0.61703}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0099,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00976,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00976,"percentile":0.61703}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-502","name":"Deserialization of Untrusted Data","description":"The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/502.html"}],"affected":[{"vendor":"laravel","product":"reverb","name":"reverb","label":"reverb","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.7.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.7.0","eol":null,"hubHref":"/vendor/laravel/reverb"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/laravel/reverb/security/advisories/GHSA-m27r-m6rx-mhm4","label":"github.com/laravel/reverb/security/advisories/GHSA-m27r-m6rx-mhm4","hostname":"github.com","tags":["X Refsource CONFIRM","Mitigation","Vendor Advisory"]},{"url":"https://github.com/laravel/reverb/commit/9ec26f8ffbb701f84920dd0bb9781a1797591f1a","label":"github.com/laravel/reverb/commit/9ec26f8ffbb701f84920dd0bb9781a1797591f1a","hostname":"github.com","tags":["X Refsource MISC","Patch"]},{"url":"https://cwe.mitre.org/data/definitions/502.html","label":"cwe.mitre.org/data/definitions/502.html","hostname":"cwe.mitre.org","tags":["X Refsource MISC","Technical Description"]},{"url":"https://github.com/laravel/reverb/releases/tag/v1.7.0","label":"github.com/laravel/reverb/releases/tag/v1.7.0","hostname":"github.com","tags":["X Refsource MISC","Product","Release Notes"]},{"url":"https://laravel.com/docs/12.x/reverb#scaling","label":"laravel.com/docs/12.x/reverb","hostname":"laravel.com","tags":["X Refsource MISC","Technical Description"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-01-21T22:07:55.682Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-01-22T16:49:37.182Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T16:03:47.077Z","stale":false,"partial":false}}