The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Уязвимость в СУБД SQLite"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в СУБД SQLite"  +/
Сообщение от opennews (?), 09-Май-19, 21:32 
В СУБД SQLite выявлена (https://blog.talosintelligence.com/2019/05/vulnerability-spo... уязвимость (https://www.talosintelligence.com/vulnerability_reports/TALO... (CVE-2019-5018), позволяющая выполнить свой код в системе при наличии возможности выполнения  SQL-запроса, подготовленного злоумышленником. Проблема вызвана ошибкой в реализации оконных функций и проявляется начиная с ветки SQLite 3.26 (https://www.opennet.dev/opennews/art.shtml?num=49282). Уязвимость устранена (https://www.sqlite.org/src/info/884b4b7e502b4e99) в апрельском выпуске SQLite 3.28 (https://sqlite.org/releaselog/3_28_0.html) без явного упоминания об исправлении проблем с безопасностью.


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


Например, потенциально атака может быть совершена на браузер Chrome и приложения, использующие движок Chromium, так как API WebSQL реализован поверх SQLite и обращается к данной СУБД для обработки SQL-запросов из web-приложений. Для атаки достаточно создать страницу с вредоносным JavaScript-кодом и добиться чтобы пользователь открыл её в браузере на базе движка Chromium.

URL: https://blog.talosintelligence.com/2019/05/vulnerability-spo...
Новость: https://www.opennet.dev/opennews/art.shtml?num=50658

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от OpenEcho (?), 09-Май-19, 21:32   +1 +/
DROP Chromium WHERE WebSQL NOT NULL;
COMMIT;

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #17

2. Сообщение от Аноним (2), 09-Май-19, 21:45   –15 +/
Весьма типичная проблема устаревших языков, к сожалению.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #25

3. Сообщение от пох (?), 09-Май-19, 21:54   +1 +/
ну и зачем ты все испортил? Я ж уже 2 монеры намайнил!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от mumu (ok), 09-Май-19, 21:54   –1 +/
> Например, потенциально атака может быть совершена на браузер Chrome и приложения, использующие движок Chromium

Firefox тоже активнео использует SQLIte. Кто скажет, там это воспроизводится?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #11

5. Сообщение от конь в пальто (?), 09-Май-19, 21:54   +15 +/
весьма типичный комментарий юных падаванов
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #10

6. Сообщение от пох (?), 09-Май-19, 21:58   –5 +/
там понадобится вторая уязвимость, которую тебе, о йуный друг, еще предстоит найти.
потому что в отличие от гуглоподелки, sqlite там используется, а не использует твой компьютер по желанию вебмакаки.

но это, конечно, ненадолго - только пока ютруп, факбук и гитхап не перешли на новый стандарт.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #8

7. Сообщение от kai3341 (ok), 09-Май-19, 22:54   +/
> Специально оформленный SQL-запрос SELECT может привести к обращению к уже освобождённой области памяти

Это в принципе нетипичная ситуация, когда сторонний `исследователь безопасности` получает контроль над БД. Так как самое важное обычно хранится в БД и если БД слита, то всё остальное уже как-то без разницы. Я к тому, что для получения контроля над БД в приложении должна быть ещё одна критическая уязвимость

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14

8. Сообщение от 1 (??), 09-Май-19, 23:09   +/
>новый стандарт.

Точно новый?
>W3C Working Group Note 18 November 2010
>Beware. This specification is no longer in active maintenance and the Web Applications Working Group does not intend to maintain it further.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #23

9. Сообщение от th3m3 (ok), 09-Май-19, 23:20   +1 +/
Получается, что и всякое УГ на Электроне, тоже в зоне риска.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13, #18

10. Сообщение от trdm (ok), 09-Май-19, 23:51   –1 +/
Анонимное комментирование и отсутствие бан-листа - зло и неудобство.
Надо опеннету подтягиваться к тренду.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #19

11. Сообщение от Аноним (11), 10-Май-19, 00:24   +4 +/
Проще сказать где SQLite не используется. Он везде. От телефонов до ПК
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

13. Сообщение от ................. (?), 10-Май-19, 03:28   –1 +/
Net.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

14. Сообщение от Аноним (14), 10-Май-19, 03:45   +3 +/
В Chromium любой сайт может выполнять запросы к его внутренней SQLite DB.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #15

15. Сообщение от kai3341 (ok), 10-Май-19, 04:06   +/
В поисках пруфов нарвался на игрушку https://github.com/kripken/sql.js

hint: ещё пару лет назад sqlite в chromium была задепрекейчена. У меня большие сомнения, что оно работает, поэтому было бы неплохо привести пруф

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #21

17. Сообщение от Аноне (?), 10-Май-19, 08:58   +4 +/
Не поможет. Drop удаляет объект безусловно и коммит не нужен. И IS not null
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #22

18. Сообщение от JL2001 (ok), 10-Май-19, 09:57   +/
> Получается, что и всякое УГ на Электроне, тоже в зоне риска.

это приложение на электрона должно обрабатывать внешний сторонний "sql-запрос", а это таки редкость

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #20

19. Сообщение от Аноним (-), 10-Май-19, 10:22   +1 +/
Да, надо как в Белоруссии. Ишь, воду баламутят.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #29

20. Сообщение от пох (?), 10-Май-19, 10:25   –1 +/
>> Получается, что и всякое УГ на Электроне, тоже в зоне риска.
> это приложение на электрона должно обрабатывать внешний сторонний "sql-запрос"

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

21. Сообщение от Аноним84701 (ok), 10-Май-19, 12:56   +/
> hint: ещё пару лет назад sqlite в chromium была задепрекейчена. У меня
> большие сомнения, что оно работает, поэтому было бы неплохо привести пруф

https://caniuse.com/sql-storage
Подойдет?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

22. Сообщение от OpenEcho (?), 10-Май-19, 14:12   +/
Ну тогда мы нашли еще один баг, потому как

SELECT 'true' WHERE 1 NOT NULL;

вернет 'true' без ошибок ;)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #24

23. Сообщение от анонн (?), 10-Май-19, 14:43   +2 +/
>>новый стандарт.
> Точно новый?
>>W3C Working Group Note 18 November 2010

В старом, догугловском стандарте его так и нет. А новый стандарт - это Гугл, если что. В ФФ, старом Edge и так далее, этот websql так и не появился.
Так что все правильно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

24. Сообщение от . (?), 10-Май-19, 16:53   +/
это не баг, это фича simplified syntax, кажется, даже где-то описанная.

а вот комит после дропа не нужен, да и синтаксически неверно, наверное, имелось в виду delete.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #26

25. Сообщение от Аноним (25), 10-Май-19, 16:58   +1 +/
SQL тебя переживет еще
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

26. Сообщение от OpenEcho (?), 10-Май-19, 19:56   –1 +/
Да блин, вы правда не понимаете что должно было бы стоять вместо COMMIT если бы не модерация?
ArticFox;  -- так пойдет ?    
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

27. Сообщение от Kuromi (ok), 10-Май-19, 22:38   +1 +/
"Например, потенциально атака может быть совершена на браузер Chrome и приложения, использующие движок Chromium, так как API WebSQL реализован поверх SQLite и обращается к данной СУБД для обработки SQL-запросов из web-приложений. Для атаки достаточно создать страницу с вредоносным JavaScript-кодом и добиться чтобы пользователь открыл её в браузере на базе движка Chromium."
Тот самый WebSQL который не был признан никем кроме Хрома, исключен из стандартов и не поддерживается нигде больше? Тот самый который Гугл почему-то упорно не убирает и который уже не первый раз бьет их по макушке?
Странный Гугл...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30

28. Сообщение от Kuromi (ok), 10-Май-19, 22:40   +1 +/
"Для атаки достаточно создать страницу с вредоносным JavaScript-кодом и добиться чтобы пользователь открыл её в браузере на базе движка Chromium."

С учетмо нынешней доли Хрома и ему подобных среди браузеров можно сказать  что достаточно открыть её у почти любого пользователя.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

29. Сообщение от Иваныч (??), 10-Май-19, 23:13   –2 +/
Беларусь, Беларуси.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

30. Сообщение от OpenEcho (?), 12-Май-19, 12:13   +/
> Тот самый WebSQL который не был признан никем кроме Хрома, исключен из
> стандартов и не поддерживается нигде больше? Тот самый который Гугл почему-то
> упорно не убирает и который уже не первый раз бьет их
> по макушке?

вообщето если быть обьективным то WebSQL самый удобный по сравнению с LocalStorage & IndexedDB, нормальный гибкий SQL язык позволяющий сложную бизнес логику и простоту использования в JS.
А на счет баги в SQLite, так не ошибается только тот, кто ничего не делает. Код там очень даже профессиональный.

Винить надо рукожопых JS-девелоперов позволяющих использовать даные от юзера без валидации:

>"Уязвимость может быть эксплуатирована в случае если __приложение__
> допускает передачу в SQLite SQL-конструкций, поступающих извне. "

а это относится к любым ЯП


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #31

31. Сообщение от Аноним84701 (ok), 12-Май-19, 13:20   +/
> Винить надо рукожопых JS-девелоперов позволяющих использовать даные от юзера без валидации:
>>"Уязвимость может быть эксплуатирована в случае если __приложение__
>> допускает передачу в SQLite SQL-конструкций, поступающих извне. "
> а это относится к любым ЯП

Эта процитированная часть относится к приложениям, использующим SQLite.
Например, в том числе и Chrome, в котором есть WebSQL, принимающий SQL-конструкции извне .
> Для атаки достаточно создать страницу с вредоносным JavaScript-кодом и добиться чтобы пользователь открыл её в браузере на базе движка Chromium.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #32

32. Сообщение от OpenEcho (?), 12-Май-19, 15:58   +/
>> Для атаки достаточно создать страницу с вредоносным JavaScript-кодом и добиться чтобы пользователь открыл её в браузере на базе движка Chromium.

То, что баг может использоваться специально, - это понятно что не есть хорошо. Я отвечал по поводу WebSQL технологии в принципе.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

33. Сообщение от пох (?), 12-Май-19, 21:52   +/
а для извращенцев предусмотреть огромный баннер "этот сайт работает только в хроме, хроме и хроме последней версии". Сами и запустят что надо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру