CVE-2026-45077: Symfony has Unauthenticated PHP Object Deserialization in MonologBridge server:log Listener
Symfony\Bridge\Monolog\Command\ServerLogCommand (the server:log console command) is a development-time helper that opens a TCP listener and displays log records pushed to it by the application’s logging pipeline. Two unsafe defaults combine into a remotely reachable PHP object-deserialization sink:
- The listener binds to
0.0.0.0:9911by default; it accepts connections on every interface, not only loopback. - Each received frame is processed as
unserialize(base64_decode($message))without anallowed_classesallowlist, without authentication, and without any integrity check. The decoded value is then passed todisplayLog(..., array $record)which assumes (without validating) that the result is an array.
Any host that can reach TCP port 9911 on a machine running server:log can therefore submit attacker-chosen serialized PHP payloads. The minimum impact is an unauthenticated denial of service (sending a non-array, e.g. serialize(new stdClass()), crashes the listener with a type error). Object injection with magic-method side effects (__wakeup() / __destruct() / etc.) is reachable before the array type-check fires; full remote code execution is environment-dependent and contingent on usable gadget chains in the autoload set of the target process.
References
- github.com/FriendsOfPHP/security-advisories/blob/master/symfony/monolog-bridge/CVE-2026-45077.yaml
- github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2026-45077.yaml
- github.com/advisories/GHSA-m7v2-7gxm-vc2v
- github.com/symfony/symfony/commit/0891b2f293896c488e26943dc034334364b77fc4
- github.com/symfony/symfony/security/advisories/GHSA-m7v2-7gxm-vc2v
- nvd.nist.gov/vuln/detail/CVE-2026-45077
- symfony.com/cve-2026-45077
Code Behaviors & Features
Detect and mitigate CVE-2026-45077 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →