Критическая PHP-уязвимость открывает сайты для SQL-инъекции

Критическая PHP-уязвимость открывает сайты для SQL-инъекции

Критическая PHP-уязвимость открывает сайты для SQL-инъекции

Критическая уязвимость, затрагивающая ряд версий PHP 8, угрожает веб-приложениям и сайтам, позволяя провести SQL-инъекцию. Патчи уже готовы, поэтому настоятельно рекомендуется установить их как можно скорее.

Проблема получила идентификатор CVE-2022-31631 и 9,1 балла по шкале CVSS. Брешь актуальна для PHP 8.0.x до версии 8.0.27, 8.1.x до версии 8.1.15 и 8.2.x до версии 8.2.2.

Баг кроется в функции PDO::quote() при использовании баз данных SQLite. Эта функция часто применяется для очистки вводимых пользователем данных перед их использованием в запросах к БД.

По типу CVE-2022-31631 представляет собой классическую проблему целочисленного переполнения буфера. Если PDO::quote() обрабатывает слишком длинную строку, функция не может корректно экранировать входные данные.

Этот изъян может привести с созданию опасных SQL-запросов, которые могут позволить киберпреступникам внедрить вредоносный код и получить контроль над базой данных.

Таким образом, корень уязвимости находится в механизме обработки длинных строк в PHP: например, базовая функция SQLite sqlite3_snprintf() использует 32-битное целое число для параметров длины, а PHP PDO::quote() — zend_long (64-битное). Именно это несоответствие приводит к целочисленному переполнению буфера.

При этом 32-битные системы менее уязвимы к CVE-2022-31631, а вот пользователям 64-битных стоит незамедлительно установить патчи.

Подпишитесь на новости

Claude Code удалил 116 ГБ и сообщил, что файлы выглядят нормально

Пользователь Windows сообщил, что Claude Code при уборке временных файлов удалил около 116 ГБ данных из его домашней директории. Затем агент заверил, что остановил команду и все выглядит целым. По описанию инцидента, удаление продолжалось еще примерно 50 минут.

В отчете на GitHub пользователь рассказывает, что работал над анализом для соревнования Kaggle.

Основная сессия запустила субагента, который решил очистить собственные временные файлы, но сформировал лишнюю команду рекурсивного удаления.

Целью стала домашняя директория, указанная коротким именем Windows формата 8.3. Автор предполагает, что защитная проверка могла не распознать такой вариант пути. Точный механизм отказа защиты и режим разрешений остаются неизвестными.

Через 120 секунд задача автоматически перешла в фон. Агент запросил остановку и получил сообщение об успехе, однако, судя по описанным изменениям файловой системы, удаление продолжалось. Вероятное объяснение — дочерний процесс пережил остановку задачи.

Проверка тоже оказалась поверхностной: агент посмотрел на названия папок верхнего уровня, которые могли сохраняться, пока их содержимое исчезало.

Пользователь сообщил о потере проектов за несколько месяцев, инструментов разработки, SSH-ключей и учетных данных. В корзине удаленные файлы не оказались. Обращение помечено как ошибка высокого приоритета с потерей данных.

Особенно неприятна в этой истории уверенность агента. Наличие папки еще не означает наличие файлов.

RSS: Новости на портале Anti-Malware.ru