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

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

Windows 11 позволит поштучно отлучать программы от камеры и микрофона

Microsoft тестирует в Windows 11 более вменяемое управление конфиденциальностью. В экспериментальной сборке 26340.9212 пользователи получили возможность отдельно запрещать классическим Win32-программам доступ к камере, микрофону, геолокации и голосовой активации.

Сейчас Windows обращается с обычными десктопными приложениями как с шумной компанией, пришедшей с одним билетом.

Разрешили микрофон для Discord — доступ остаётся включённым и для Chrome, и для других Win32-программ. Индивидуальные переключатели доступны только приложениям из Microsoft Store.

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

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

Источник: Neowin

 

Новшество обнаружили в тестовой сборке, хотя Microsoft не упомянула его в официальном списке изменений. Более того, функция появилась не у всех участников программы Windows Insider (вероятно, компания проводит ограниченное тестирование).

Если эксперимент доберётся до обычных пользователей, Windows наконец перестанет выдавать классическим программам разрешения оптом.

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