Как стать автором
Обновить

В СУБД SQLite нашли уязвимость, которой 22 года

Время на прочтение 1 мин
Количество просмотров 4.3K

Специалисты Trail of Bits выявили в СУБД SQLite серьёзную уязвимость, которая оказалась в коде ещё в октябре 2000 года. Она позволяла злоумышленникам вызывать сбои в работе программ или управлять ими.

Проблеме присвоили идентификатор CVE-2022-35737, её серьёзность оценили в 7,5 баллов по шкале CVSS. 

Как отметили исследователи, баг можно эксплуатировать в 64-разрядных системах, и «возможность использования зависит от того, как скомпилирована программа». По их словам, выполнение произвольного кода возможно, когда «библиотека скомпилирована без стековых “канареек”, но невозможно в случае их присутствия».

Проблема связана с целочисленным переполнением. Оно возникает, если чрезвычайно большой input строки передаётся в качестве параметров SQLite-имплементациям функций printf, которая, в свою очередь, использует другую функцию для обработки форматирования строки (sqlite3_str_vappendf). 

Однако атака осуществима лишь при условии, что строка формата содержит подстановки %Q, %q или %w.

«Если строка формата содержит специальный символ '!' для включения сканирования на символы Unicode, то в худшем случае можно добиться выполнения произвольного кода или заставить программу зависнуть и зациклиться на (почти) неопределённый срок», — разъяснили эксперты.

Проблема затрагивала SQLite версий от 1.0.12 до 3.39.1 и была устранена с релизом версии 3.39.2 в июле 2022 года.

Теги:
Хабы:
+6
Комментарии 5
Комментарии Комментарии 5

Другие новости

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн