Topic: Уязвимость в SQLite

Доброго дня. Прошла новость о найденной уязвимости в ядре SQLite http://safe.cnews.ru/news/top/2019-05-1 … z_kotoruyu решается ли проблема частным порядком заменой sqlite3.dll с сайта SQLite?

Re: Уязвимость в SQLite

vovka3003 wrote:
spravka2004 wrote:

решается ли проблема частным порядком заменой sqlite3.dll с сайта SQLite?

Да. Набор функций идентичен (проверил). База нормально открывается/пишется(проверил)

СПАСИБО smile

Re: Уязвимость в SQLite

Однако, полезно читать новости: узнал, что в SQLite можно подключать внешние функции прямо на лету. Кстати, кто-нибудь хоть раз пользовался этой фичей?

Визуальное программирование: блог и телеграм-канал.

Re: Уязвимость в SQLite

vovka3003 wrote:
k245 wrote:

на лету.

это как..?

Вот описание проблемы по ссылке

Речь идёт об уязвимости класса use-after-free() - «обращение к освобождённой области памяти», которую злоумышленник может использовать, отправляя специальные SQL-команды на устройства, на которых работают базы данных на основе уязвимых версий SQLite. В теории это может приводить к запуску произвольного кода на уязвимом устройстве и к последующему захвату контроля над ним.

Как установили эксперты, проблема кроется в реализации функции SQL Window Functions в SQLite. После обработки выражения SELECT с функцией окна, это выражение преобразуется с помощью функции sqlite3WindowRewrite. И этот процесс включает повторное использование уже удалённого раздела памяти, что может приводить к серьёзному сбою, а в случае, если потенциальный злоумышленник имеет возможность контролировать освобождённый участок памяти, то есть возможность и запуска вредоносного кода.

Из описания следует что "злоумышленник" может разместить в памяти SQL-команду, которая может выполнить произвольный код. Подходящая на эту роль SQL-команда - это вызов внешней функции. Или я что-то не так понимаю? О какой именно SQL-команде, поддерживаемой SQLite, идёт речь?

Визуальное программирование: блог и телеграм-канал.

Re: Уязвимость в SQLite

vovka3003 wrote:

Надо пробовать...

Я про "ядерную энергетику в мирных целях"  Ведь именно об этом данная новость - о возможности несанкционированного расширения функциональности. А вы пробовали расширять функционал SQLite за счёт внешних функций? Я вот даже и не знал, что это возможно, да ещё без перезапуска процесса, отвечающего за функциональность БД.

К примеру, для Firebird можно подключить внешнюю DLL c пользовательскими функциями, но только при запуске сервера.  А как это делается у SQLite?

Визуальное программирование: блог и телеграм-канал.

6 (edited by k245 2019-05-15 12:16:11)

Re: Уязвимость в SQLite

vovka3003 wrote:

...подозреваю, что в Embed-версиях СУБД такое в принципе не возможно и в сообщении о баге идет речь о каком-то другом способе.

Подозреваю, что речь вообще идёт о потенциальной (возможной) проблеме, которой может и не быть )))  Нашли баг - использование ресурса (области памяти) после его освобождения, а расписали так, что мама не горюй. А вообще странно, что такое в принципе возможно - всегда думал, что после освобождения ресурса попытка доступа к нему приводит к AV.


Вот тут есть информация к размышлению: https://www.vswamp.com - сборка web-сервера, включающая как MySQL, так и SQLite. Решительно - очень полезно читать IT-новости )))

Визуальное программирование: блог и телеграм-канал.