Найдена уязвимость удаленного выполнения кода в 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-парсер сохранит только последнее, что позволит обойти все соответствующие проверки ввода и создать пользователя с правами администратора.

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

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

Квантовая случайность дала сбой: ИИ может найти подсказки для взлома

Квантовая физика умеет создавать настоящую случайность, но инженеры всё ещё способны её испортить. Генератор может успешно пройти статистические тесты и при этом выдавать атакующему достаточно подсказок, чтобы тот попробовал предсказать следующие числа.

Европейский институт телекоммуникационных стандартов выпустил руководство ETSI TR 104 171 по разработке и оценке квантовых генераторов случайных чисел — QRNG.

Такие устройства измеряют квантовый процесс, обрабатывают полученные данные и передают случайные значения криптографическим системам для создания ключей и выполнения других защитных операций.

Проблема в том, что безопасность зависит не только от квантового источника. Датчики, блоки питания, сигнальные процессоры и алгоритмы обработки способны добавлять шум, часть которого может оказаться предсказуемой.


ETSI предупреждает, что системы искусственного интеллекта могут помочь злоумышленникам анализировать большие объёмы данных и находить такие закономерности.

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

Авторы отчёта предлагают применять принцип нулевого доверия к энтропии (entropy zero trust). Производителям и операторам следует проверять квантовый источник, контролировать обработку данных, постоянно искать аномалии, защищать оборудование от вмешательства и шифровать каналы доставки чисел приложениям.

Для расследования сбоев рекомендуется записывать время генерации, версию работающего ПО и происхождение выходных данных. В многопользовательских системах потоки разных клиентов должны быть изолированы.

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