Найдена уязвимость удаленного выполнения кода в CouchDB

Найдена уязвимость удаленного выполнения кода в CouchDB

Найдена уязвимость удаленного выполнения кода в CouchDB

В CouchDB была обнаружена уязвимость, вызванная несоответствием между собственным парсером JSON и JSON-парсером Javascript, используемым во время проверки документа. Поскольку базы данных CouchDB открыты для доступа через интернет, эта брешь может поспособствовать эскалации привилегий и удаленному выполнению кода на большом количестве установок.

CouchDB написана на языке Erlang, но позволяет указывать сценарии проверки документов в Javascript. Эти сценарии автоматически оцениваются при создании или обновлении документа. CouchDB управляет учетными записями пользователей через специальную базу данных — _users.

Когда вы создаете или изменяете пользователя в базе данных CouchDB, сервер проверяет изменение с помощью функции Javascript validate_doc_update, чтобы удостовериться, что это не попытка сделать себя администратором, например.

«Проблема в том, что существует расхождение между JSON-парсером Javascript (используемым в скриптах проверки) и тем, что используется внутри CouchDB, называемым jiffy», — пишет эксперт, обнаруживший брешь.

Далее специалист привод куски кода для демонстрации этой разницы:

Erlang:

> jiffy:decode("{\"foo\":\"bar\", \"foo\":\"baz\"}"). 
{[{<<"foo">>,<<"bar">>},{<<"foo">>,<<"baz">>}]}

Javascript:

> JSON.parse("{\"foo\":\"bar\", \"foo\": \"baz\"}")
{foo: "baz"}

Для данного ключа парсер Erlang сохранит оба значения, а вот Javascript-парсер сохранит только последнее, что позволит обойти все соответствующие проверки ввода и создать пользователя с правами администратора.

Исследователь указывает на то, что использовать несколько парсеров для обработки одних и тех же данных не очень правильно. Он предлагает сделать все возможное, чтобы не было никаких функциональных различий между парсерами, если есть необходимость использовать несколько.

Подпишитесь на новости

WhatsApp для Android начал внедрять одноразовые сообщения

WhatsApp (принадлежит корпорации Meta, признанной экстремистской и запрещённой в России) начал выпускать функцию одноразового просмотра для текстовых сообщений. Ее получила часть участников бета-тестирования на Android с версией 2.26.45.6, в ближайшие недели функция станет доступна большему числу пользователей. Раньше отправлять в режиме одноразового просмотра можно было только фото, видео и голосовые сообщения.

Функцию обнаружили в WABetaInfo. Чтобы отправить такое сообщение, нужно набрать текст, зажать кнопку отправки и выбрать в меню пункт «Просмотр один раз».

Сообщение уйдет сразу: запланировать одноразовый текст на определенное время пока нельзя. Подсказка о новом жесте появится внизу чата.


Получатель увидит вместо текста отметку, которую нужно открыть. Сообщение откроется на отдельном экране, и после закрытия вернуться к нему уже не получится. В чате останется пометка о том, что сообщение было открыто. Если у собеседника включены отчеты о прочтении, отправитель узнает, когда его прочитали.

Пока сообщение открыто, WhatsApp блокирует скриншоты и запись экрана. Скопировать, переслать или сохранить текст получатель не сможет. В WABetaInfo считают, что функция пригодится, когда нужно передать пароль или одноразовый код и не оставлять его в истории переписки.

О сроках выхода функции в стабильной версии WhatsApp и на iOS пока ничего не известно.

RSS: Новости на портале Anti-Malware.ru