🐘 Безопасный PHP: устранены SQLi и NullPtr в PDO

Безопасность ядра и встроенных модулей PHP традиционно считается зрелой, однако низкоуровневые ошибки в них все еще возможны. Недавно в исследовании «Hack the Elephant One Bite at a Time: JPEG-Related Memory-Safety Bugs in PHP» мы уже демонстрировали проблемы работы с памятью при обработке JPEG в PHP.

Продолжая работу в этом направлении, мы начали детальный анализ самого PDO в целом и его компонентов в виде драйверов для подключения под различные СУБД. Этот процесс оказался настолько масштабным, что побочным продуктом анализа стала находка уязвимостей в сторонних библиотеках. В их числе — целочисленное переполнение в клиентской части PostgreSQL, о чем мы рассказали в нашем исследовании «Attack arithmetic: how an integer overflow in PostgreSQL libpq leads to denial of service», а также утечка информации в клиенте Firebird 3 (fbclient) из-за Out-of-Bounds Read, возникающего при взаимодействии с более новыми версиями серверов вследствие некорректной длины данных в полях XSQLDA.

Тем не менее основные результаты нашей работы затронули именно архитектуру расширения PDO. В процессе аудита мы зафиксировали целый ряд специфических особенностей и дефектов в логике взаимодействия драйверов с СУБД. В этой статье мы подробно остановимся на детальном разборе двух характерных уязвимостей: CVE-2025-14179 — SQL injection in pdo_firebird via NUL bytes in quoted strings. CVE-2025-14180 — NULL Pointer Dereference in PDO quoting;

Мы на практических примерах покажем, как глубокий анализ базовых функций драйверов выявил критические проблемы в тех защитных механизмах, на которые годами безоговорочно полагались разработчики веб-приложений.

Продолжить чтение исследования «Hack the Elephant One Bite at a Time: NUL byte SQL Injection in pdo_firebird and NULL Pointer Dereference in PDO via pdo_pgsql».

Прочитать об этом новость: «Эксперты Positive Technologies повысили защищенность языка PHP».

#cybersecurity #research #php #postgresql #firebird #sqli #null_pointer_dereference

🐘 Безопасный PHP: устранены SQLi и NullPtr в PDO | Сетка — социальная сеть от hh.ru