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

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

Россиянам могут выставлять счета за зарубежный трафик даже без VPN

В России обсуждают отдельную тарификацию международного мобильного трафика. Идея, судя по документам Минцифры и комментариям отраслевых экспертов, связана с попытками ограничить использование VPN. Но есть нюанс: отличить VPN от обычного зарубежного трафика технически не так просто.

Эксперты, опрошенные «Фонтанкой», указывают на главную проблему: любой VPN — это международный трафик, но не любой международный трафик — это VPN.

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

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

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

Минцифры подтвердило, что механизм дополнительной тарификации международного трафика действительно находится в проработке. Пока речь идёт о мобильных сетях; про проводной интернет в ответе ведомства ничего не сказано. Конкретные параметры, включая лимиты и стоимость, ещё не определены.

Ранее обсуждался вариант с лимитом в 15 ГБ международного трафика в месяц. Всё, что выше, могло бы оплачиваться отдельно. Однако операторы попросили отсрочку: биллинговые системы не готовы быстро и точно учитывать такой трафик для миллионов абонентов.

В отрасли также не до конца понимают, что именно считать международным трафиком. Некоторые российские сервисы используют зарубежные IP-адреса или иностранные CDN, а часть пользователей направляет весь трафик через VPN без раздельного туннелирования. В таком случае формально зарубежным может стать почти весь интернет.

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

Ранее Наталья Касперская объяснила, почему борьба с VPN только раззадорит разработчиков.

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