{"answers":{"affected":"2 open source packages ship an affected version, including laravel/reverb. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-23524 in the wild and no public exploit code.","fix":"Upgrade laravel/reverb to 1.7.0 or later.","what":"CVE-2026-23524 is a critical unsafe deserialization vulnerability in laravel reverb, published on 21 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-23524 and fix it if it is affected.\n\nWhat it is: CVE-2026-23524 is a critical unsafe deserialization vulnerability in laravel reverb, published on 21 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-23524 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- laravel/reverb (Packagist): affected all versions; fixed in 1.7.0\n- laravel/reverb (Packagist): affected all versions; fixed in 1.7.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-23524/ (Markdown: https://insights.sbomify.com/CVE-2026-23524/index.md)","id":"CVE-2026-23524","markdown":"https://insights.sbomify.com/CVE-2026-23524/index.md","name":"CVE-2026-23524","record":{"aliases":["GHSA-m27r-m6rx-mhm4"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":true,"product_category":"Laravel Reverb","requires_auth":"none","summary":"Attackers can achieve remote code execution via insecure deserialization in Laravel Reverb when horizontal scaling is enabled and Redis is accessible.","user_interaction":"not_required","vuln_class":"deserialization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"reverb","vendor":"laravel"}],"cvss":{"score":9.8,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-502","name":"Deserialization of Untrusted Data"}],"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).","ecosystems":["Packagist"],"exploits":{"exploitdb":0,"first_seen":"2026-04-07","github_poc":1,"max_poc_stars":0,"metasploit":0,"nuclei":0,"refs":[{"date":"2026-04-07T15:23:10Z","kind":"github_poc","ref":"https://github.com/rockmelodies/CVE-2026-23524","stars":0,"title":"Laravel Reverb 为 Laravel 应用提供实时 WebSocket 通信后端。在 1.6.3 及更早版本中，Reverb 将来自 Redis 通道的数据直接传递给 PHP 的 unserialize() 函数，且未对可实例化的类进行限制，导致用户面临远程代码执行风险。"}],"tier":"poc_unverified"},"has_fix":true,"headline":"Laravel Redis Horizontal Scaling Insecure Deserialization","id":"CVE-2026-23524","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Packagist","product":null,"products":[],"type":"deserialization","year":"2026"},"n_packages":2,"n_references":5,"next":{"headline":"1panel App Store vulnerable to Cross-site Scripting","id":"CVE-2026-23525"},"packages":[{"ecosystem":"Packagist","fixed":["1.7.0"],"introduced":["0"],"last_affected":[],"package":"laravel/reverb","purl":null,"source":"GHSA-m27r-m6rx-mhm4"},{"ecosystem":"Packagist","fixed":["1.7.0"],"introduced":["0"],"last_affected":[],"package":"laravel/reverb","purl":"pkg:composer/laravel/reverb","source":"GHSA-m27r-m6rx-mhm4"}],"prev":{"headline":"Dive allows One-click Remote Code Execution through Deep Links for MCP Install","id":"CVE-2026-23523"},"products":["reverb"],"published":"2026-01-21","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-01-22","vendors":["laravel"]},"summary":"Attackers can achieve remote code execution via insecure deserialization in Laravel Reverb when horizontal scaling is enabled and Redis is accessible.","url":"https://insights.sbomify.com/CVE-2026-23524/"}