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

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

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

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

Группа депутатов и сенаторов внесла в Госдуму законопроект, по которому банки с 1 марта 2028 года должны будут ограничивать клиентов, подозреваемых в сомнительных операциях. Для таких людей внесение наличных на свои счета и переводы от других граждан ограничат суммой 30 тысяч рублей в месяц, причем для каждого вида операций лимит отдельный.

Проводить их банки должны будут через Систему быстрых платежей. Подробности законопроекта приводит «Интерфакс».

Признаки подозрительных операций будет определять Банк России по согласованию с Росфинмониторингом, а данные о рисках по конкретным клиентам регулятор станет передавать в банки.

Если банк найдет такие операции у клиента, по которому есть сведения ЦБ, он обязан ввести ограничения не позднее следующего рабочего дня.

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

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

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

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