Highlights
Remote Code Execution: 3 prior fixes. Scrutinize any change in this area.
src/TextUI/Command.php: most-fixed (2 issues). Treat as high-risk during review.
6 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Remote Code Execution: Direct evaluation of arbitrary PHP code from standard input allowed remote execution when the vendor folder was exposed to HTTP requests. This was mitigated by restricting execution to PHP CLI/phpdbg environments and eventually removing the helper script entirely.
Insecure Deserialization: Isolated test runs writing results to temporary storage allowed local write-after-exit race conditions or untrusted coverage file parsing to trigger deserialization. Fixes introduced cryptographic validation using random nonces and hash_equals before deserialization.
Argument Injection: Forwarding unneutralized PHP INI directives containing newline or carriage return characters to child processes allowed attackers to inject arbitrary INI settings, leading to command execution.