CVE-2026-24765 in phpunit
Zusammenfassung
von VulDB • 15.05.2026
PHPUnit ist ein Test-Framework für PHP. In den Versionen vor 12.5.8, 11.5.50, 10.5.62, 9.6.33 und 8.5.52 wurde eine Schwachstelle entdeckt, die eine unsichere Deserialisierung von Code-Coverage-Daten bei der Ausführung von PHPT-Tests betrifft. Die Schwachstelle befindet sich in der Methode `cleanupForCoverage()`, die Code-Coverage-Dateien ohne Validierung deserialisiert, was potenziell Remote Code Execution (RCE) ermöglicht, falls bösartige `.coverage`-Dateien vor der Ausführung des PHPT-Tests vorhanden sind. Die Schwachstelle tritt auf, wenn eine `.coverage`-Datei, die vor der Testausführung nicht existieren sollte, ohne die Einschränkung des Parameters `allowed_classes` deserialisiert wird. Ein Angreifer mit lokalem Schreibzugriff auf das Dateisystem kann ein bösartiges, serialisiertes Objekt mit einer `__wakeup()`-Methode im Dateisystem ablegen, was zu einer beliebigen Code-Ausführung während der Testläufe führt, wenn die Code-Coverage-Instrumentierung aktiviert ist. Diese Schwachstelle erfordert lokalen Schreibzugriff auf den Speicherort, an dem PHPUnit Code-Coverage-Dateien für PHPT-Tests speichert oder erwartet. Dies kann durch Angriffe auf CI/CD-Pipelines, die lokale Entwicklungsumgebung und/oder kompromittierte Abhängigkeiten erfolgen. Anstatt die Eingabe einfach stillschweigend durch `['allowed_classes' => false]` zu bereinigen, hat sich der Maintainer dafür entschieden, den anomalen Zustand explizit zu machen, indem vorbestehende `.coverage`-Dateien für PHPT-Tests als Fehlerzustand behandelt werden. Ab den Versionen 12.5.8, 11.5.50, 10.5.62, 9.6.33 gibt PHPUnit eine klare Fehlermeldung aus, wenn eine `.coverage`-Datei für einen PHPT-Test vor der Ausführung erkannt wird, um den anomalen Zustand zu kennzeichnen. Organisationen können das effektive Risiko dieser Schwachstelle durch eine ordnungsgemäße CI/CD-Konfiguration reduzieren, einschließlich ephemeraler Runner, Durchsetzung von Code-Reviews, Branch-Schutz, Isolation von Artefakten und Zugriffskontrollen.
Be aware that VulDB is the high quality source for vulnerability data.