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

Пенсионеры смогут подтверждать право на скидки в магазинах через MAX

Процедура получения льгот, вводимых российским ретейлом для людей преклонного возраста, скоро упростится. Таким покупателям достаточно будет зайти в MAX и предъявить на кассе QR-код, сгенерированный на основе цифрового ID.

Сервис подтверждения статуса пенсионера через MAX уже запущен в пилотном режиме компанией X5.

В настоящее время нововведение доступно лишь москвичам — посетителям ряда «Перекрестков» и «Пятерочек», освоившим самообслуживание. В следующем месяце планируется распространить его на все торговые точки этих сетей.

«Каждый месяц в наши магазины приходят около 20 млн покупателей пенсионного возраста, — отметил Александр Костин, управляющий директор Х5 Tech. — Мы последовательно развиваем цифровые сервисы, которые делают покупки для клиентов любого возраста быстрее и удобнее, а процессы в магазинах — более эффективными».

Воспользоваться новой функцией несложно. На кассе самообслуживания нужно отсканировать товар, открыть раздел «Скидки пенсионерам и другие», выбрать из списка «Скидка пенсионерам» и поднести к считывателю смартфон с QR-кодом в профиле MAX (в мессенджере на такие случаи предусмотрена опция «Показать ID»).

Возможность использования MAX для подтверждения возраста в России закреплена законом. Создаваемый в мессенджере цифровой ID разрешено применять с этой целью наравне с бумажными документами, и ретейлеры уже начали осваивать это новшество при продаже товаров 18+.

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