• Добро пожаловать в Пиратскую Бухту! Чтобы получить полный доступ к форуму пройдите регистрацию!
  • Гость, стой!

    В бухте очень не любят флуд и сообщения без смысловой нагрузки!
    Чтобы не получить бан, изучи правила форума!

    Если хотите поблагодарить автора темы, или оценить реплику пользователя, для этого есть кнопки: "Like" и "Дать на чай".

Новости Обнаружена опасная уязвимость в SQLite, которая на протяжении 22 лет оставалась незамеченной

Пригоршня

Штурман
Мудрец
Регистрация
26.10.16
Сообщения
2,237
Онлайн
37д 1ч 25м
Сделки
251
Нарушения
0 / 0
Montserrat Semi-Bold.png

Брешь в защите SQLite обнаружил и подробно описал ИБ-специалист Адреас Келлас. Ей присвоены идентификатор CVE-2022-35737 и оценка 7.5 из 10 по шкале CVSS. Уязвимость связана с переполнением целочисленного значения и затрагивает SQLite версий с 1.0.12 по 3.39.1.

Как говорится в описании CVE-2022-35737, SQLite 1.0.12 - 3.39.x до 3.39.2 иногда допускает переполнение границ массива, если миллиарды байт используются в строковом аргументе для C API. Злоумышленник может воспользоваться этим и выполнить произвольный код на пораженной системе.

Келлас пишет, что уязвимость возможно эксплуатировать только на 64-битных системах. Кроме того, последствия использования CVE-2022-35737 меняются в зависимости от того, как компилируется программа:
  • Злоумышленник может выполнить произвольный код при компиляции библиотеки без стековых канареек;
  • Произвольный код может быть не выполнен при наличии стековых канареек (Stack Canary);
  • Отказ в обслуживании происходит во всех случаях.
Эксперт пояснил, что для использования уязвимости злоумышленники должны передать в функцию printf большие строковые входные данные, причем строка формата должна содержать тип подстановки: %Q, %q или %w. По словам Келласа, CVE-2022-35737 связана с переполнением целочисленного значения, которое возникает, когда функция sqlite3_str_vappendf получает большую строку и когда тип подстановки равен %q, %Q или %w.

Исследователь также обнаружил, что если строка формата содержит символ “!” – специальный символ, включающий сканирование символов юникода, то можно добиться выполнения произвольного кода или провести DoS-атаку.

Подводя итоги, Келлас сказал, что 22 года назад эта уязвимость, могла даже не казаться уязвимостью, так как почти все системы были 32-битными.
 
Сверху