Критическая 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-битных стоит незамедлительно установить патчи.

В WordPress срочно закрыли 10 уязвимостей одним обновлением

У администраторов сайтов на WordPress появился хороший повод проапдейтить свои ресурсы 10 марта 2026 года разработчики выпустили версию WordPress 6.9.2, этот релиз целиком посвящён безопасности. Всем пользователям движка прямо рекомендуют установить его как можно быстрее.

По информации WordPress, релиз 6.9.2 закрывает 10 уязвимостей. Среди них — проблема выхода за пределы рабочего каталога (path traversal) в PclZip, XXE во внешней библиотеке getID3, несколько обходов аутентификации, сразу несколько вариантов XSS, а также Regex DoS, blind SSRF и слабое место в цепочке PoP в HTML API и Block Registry.

То есть набор получился довольно пёстрый: от неприятных багов в обработке файлов до рисков на стороне сервера и админки.

Особенно неприятен тот факт, что часть исправлений касается довольно чувствительных мест: например, закрыты обходы аунетификации в функциях AJAX query-attachments и Notes, а среди XSS-уязвимостей упоминаются проблемы в навигационных меню, data-wp-bind и сценарии, позволяющем подменять клиентские шаблоны в административной части.

Команда WordPress при этом сохранила привычную позицию: официально поддерживается только самая свежая версия движка в актуальной ветке. Но для этого релиза команда пошла навстречу более широкой аудитории и разнесла критические патчи по другим поддерживаемым веткам. Бэкпорт сделали для всех подходящих веток вплоть до 4.7.

Есть, правда, и маленькая ложка дёгтя. Уже в день выхода 6.9.2 WordPress сообщил, что у части пользователей после обновления фронтенд сайта мог отображаться пустым. Проблему связали с некоторыми темами, которые используют нестандартный способ загрузки шаблонов через так называемые строковые объекты.

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