В популярной PHP-библиотеке для работы с базами данных ADOdb обнаружена опасная уязвимость, позволяющая злоумышленникам выполнять произвольные SQL-запросы. Проблема затрагивает драйвер SQLite3 и может привести к компрометации данных в приложениях, использующих эту систему управления базами данных.
Характеристики уязвимости
Уязвимости присвоен идентификатор CVE-2025-54119, а её уровень опасности оценён как критический (CVSS v3.1: 9.1). Атака возможна через сеть, не требует специальных привилегий или взаимодействия с пользователем и может затронуть не только уязвимый компонент, но и связанные с ним ресурсы.
Проблема связана с некорректной обработкой параметров в трёх методах драйвера SQLite3: metaColumns(), metaForeignKeys() и metaIndexes(). Если в качестве имени таблицы передаётся специально сформированная строка, злоумышленник может внедрить произвольный SQL-код, который будет выполнен на стороне базы данных.
Потенциальные последствия
Эксплуатация уязвимости может привести к утечке конфиденциальной информации, изменению данных или выполнению административных операций в базе. Наибольшему риску подвержены приложения, которые динамически генерируют запросы к метаданным на основе пользовательского ввода. Это может касаться систем управления контентом (CMS), инструментов администрирования баз данных и других решений, использующих интроспекцию SQLite3.
Исправление и рекомендации
Разработчики ADOdb устранили проблему в версии 5.22.10 (коммит 5b8bd52cdcffefb4ecded1b399c98cfa516afe03). Организациям, использующим библиотеку, рекомендуется немедленно обновиться до последней версии.
Если обновление невозможно, временным решением может стать строгая валидация данных, передаваемых в параметр $table уязвимых методов. Это предотвратит возможность внедрения SQL-кода, однако полной защиты такой подход не гарантирует.
Ответственное раскрытие
Уязвимость была обнаружена независимым исследователем безопасности Марко Наппи (Marco Nappi, @mrcnpp), который сообщил о ней через официальные каналы. Информация о проблеме была опубликована два дня назад одним из основных разработчиков ADOdb, dregad (Швейцария), известным также своей работой над проектом Mantis Bug Tracker.
Этот случай в очередной раз подчеркивает важность аудита безопасности в открытом ПО, особенно в библиотеках, используемых в критически важных веб-приложениях. Компаниям следует проверить свои проекты на наличие уязвимой версии ADOdb и принять меры для защиты от потенциальных атак.
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2025-54119
- https://github.com/ADOdb/ADOdb/security/advisories/GHSA-vf2r-cxg9-p7rf