PHPUnit - это фреймворк тестирования для PHP. Уязвимость была обнаружена в версиях до 12.5.8, 11.5.50, 10.5.62, 9.6.33 и 8.5.52, включающей…
PHPUnit - это фреймворк тестирования для PHP. Уязвимость была обнаружена в версиях до 12.5.8, 11.5.50, 10.5.62, 9.6.33 и 8.5.52, включающей небезопасную дезериаизацию данных покрытия кода в тестовом исполнении PHPT. Уязвимость существует в методе «cleanupForCoverage()`, который дезериализует файлы покрытия кода без проверки, потенциально позволяя удаленное выполнение кода, если вредоносные «файлы покрытия» присутствуют до выполнения теста PHPT. Уязвимость возникает, когда файл «.coverage`», который не должен существовать до выполнения теста, дезериализуется без ограничения параметра «разрешенные» классы. Злоумышленник с доступом к записи локального файла может разместить вредоносный сериализированный объект с помощью метода `__wakeup()` в файловую систему, что приводит к произвольному исполнению кода во время тестовых запусков с включенным прибором покрытия кода. Эта уязвимость требует доступа к локальному файлу записи в том месте, где хранится PHPUnit, или ожидает файлы покрытия кода для тестов PHPT. Это может произойти в результате атак на трубопроводы CI/CD, местной среды развития и/или скомпрометированных зависимостей. Вместо того, чтобы просто бесшумно дезинфицировать вход через `['alowed_classes' => false]`, сопровождающий решил сделать аномальное состояние явным, рассматривая ранее существовавшие `.coverage` файлы для тестов PHPT как условие ошибки. Начиная с версий в версиях 12.5.8, 11.5.50, 10.5.62, 9.6.33, когда файл «покрытие» обнаруживается для теста PHPT перед выполнением, PHPUnit будет излучать четкое сообщение об ошибке, идентифицирующее аномальное состояние. Организации могут снизить эффективный риск этой уязвимости за счет надлежащей конфигурации CI/CD, включая эфемерных бегунов, правоприменение в области проверки кода, защиту филиалов, изоляцию артефактов и контроль доступа.
Продукт десериализует ненадёжные данные без достаточной проверки того, что полученные данные окажутся допустимыми.
https://cwe.mitre.org/data/definitions/502.html →Открыть в коллекции CWE →Злоумышленник пытается эксплуатировать приложение путём внедрения дополнительного вредоносного содержимого в процессе обработки сериализованных объектов. Разработчики используют сериализацию для преобразования данных или состояния в статичный двоичный формат с целью сохранения на диск или передачи по сети. Впоследствии эти объекты десериализуются для восстановления данных/состояния. Внедряя некорректный объект в уязвимое приложение, злоумышленник потенциально может скомпрометировать его, манипулируя процессом десериализации. Это может привести к ряду нежелательных последствий, включая удалённое выполнение кода.
https://capec.mitre.org/data/definitions/586.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| phpunit | Отслеживается | |
| phpunit | Отслеживается | |
| phpunit | Отслеживается | |
| debian_linux | * | Отслеживается |
| phpunit | * | Отслеживается |