WWW::Механиз::Кэшированные версии до 2.00 для Perl дезериализуют кэшированные HTTP-ответы из кэша на диске, заносимого в мире, что позволяе…
WWW::Механиз::Кэшированные версии до 2.00 для Perl дезериализуют кэшированные HTTP-ответы из кэша на диске, заносимого в мире, что позволяет подделывать локальный ответ и выполнять код. Без явного кэша, WWW::MEchanize::Cached конструирует кэш по умолчанию::FileCache под /tmp/FileCache без переопределения задокументированного каталога заднеска 000, поэтому корень кэша и его подкатегории создаются в режиме 0777 без липкости. Записи кэша названы sha1_hex запроса и читают обратно через Storable::thaw на следующем ударе кэша. Местный злоумышленник с доступом к кэшу может заменить запись кэша жертвы на известный URL-адресом с произвольным замороженным блоком HTTP::Response, в результате чего следующий get() этого URL-адреса возвращает байты контролируемого ответа злоумышленника. Поскольку байты передаются в Storable::thaw, процесс жертвы, который загрузил любой класс с побочным эффектом STORABLE_thaw, DESTROY или крючком перегрузки, может быть перегружен в произвольное выполнение кода.
Продукт десериализует ненадёжные данные без достаточной проверки того, что полученные данные окажутся допустимыми.
https://cwe.mitre.org/data/definitions/502.html →Открыть в коллекции CWE →Злоумышленник пытается эксплуатировать приложение путём внедрения дополнительного вредоносного содержимого в процессе обработки сериализованных объектов. Разработчики используют сериализацию для преобразования данных или состояния в статичный двоичный формат с целью сохранения на диск или передачи по сети. Впоследствии эти объекты десериализуются для восстановления данных/состояния. Внедряя некорректный объект в уязвимое приложение, злоумышленник потенциально может скомпрометировать его, манипулируя процессом десериализации. Это может привести к ряду нежелательных последствий, включая удалённое выполнение кода.
https://capec.mitre.org/data/definitions/586.html →Открыть в коллекции CAPEC →