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

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

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

РКН указал на Google Forms как на риск для локализации персональных данных

Собрать заявки через Google Forms удобно, но удобство не отменяет требований к персональным данным. В докладе Роскомнадзора сервис отдельно отмечен как проблемный вариант в контексте локализации баз данных граждан России. Форма на пять минут может обернуться вопросами, на которые отвечать придётся значительно дольше.

Такая позиция представлена в материалах выступления начальника управления по защите прав субъектов персональных данных РКН Юрия Контемирова на семинаре системы ГАРАНТ 5 ноября.

На слайде об «иностранных элементах» ведомство подчёркивает: первично — соблюдение требований к локализации баз на территории РФ. Рядом с перечислением операций, включая запись, хранение и извлечение данных, использование Google Forms помечено красным крестом.


Отдельно РКН разграничивает локализацию и трансграничную передачу. Последняя определяется как передача данных иностранному лицу на территорию иностранного государства. Для неё предусмотрен собственный порядок, включая уведомление ведомства.

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

В докладе также указан штраф до 6 млн рублей по части 8 статьи 13.11 КоАП за нарушение требований локализации.

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