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

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

Шесть дыр в AirDrop и Quick Share поставили под удар миллиарды устройств

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

Исследователи из CISPA Helmholtz Center for Information Security обнаружили сразу шесть уязвимостей, затрагивающих экосистемы Apple, Google и Samsung. Под удар попали macOS, iOS, Android и Windows.

По словам авторов исследования, злоумышленнику достаточно находиться в радиусе действия Wi-Fi (обычно от 10 до 30 метров). Предварительное сопряжение устройств, обмен контактами или подключение к одной сети не требуются.

В случае AirDrop специалисты нашли три проблемы, каждая из которых позволяет вывести из строя системный процесс sharingd. А вместе с ним перестают работать не только AirDrop, но и AirPlay, Handoff, Universal Clipboard и Continuity Camera. Один из сценариев позволяет удерживать сервис недоступным, периодически отправляя специально сформированные запросы.

 

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

Кроме того, в Windows-клиенте Quick Share выявлена ошибка use-after-free, которая может привести к повреждению памяти. Google уже выплатила вознаграждение за находку и подготовила исправление.

Любопытно, что разработчики Apple и Google пришли к похожим проблемам совершенно разными путями. В AirDrop причиной стали ошибки обработки входящих данных и чрезмерно уязвимые проверки, а в Quick Share — распределение критически важных проверок по отдельным обработчикам и проблемы многопоточности.

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

Часть обнаруженных проблем уже устранена. Apple сообщила исследователям, что исправила одну из уязвимостей AirDrop и присвоила ей идентификатор CVE, хотя подробности пока не раскрываются. Google также выпустила патч для Windows-версии Quick Share, а остальные найденные проблемы еще находятся в процессе раскрытия.

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