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

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

BitLocker в Windows 11 ускорили на уровне железа и CPU

Microsoft начала внедрять аппаратное ускорение BitLocker в Windows 11 — решение, которое должно одновременно подтянуть производительность и повысить уровень защиты данных. Напомним, BitLocker — это встроенный в Windows механизм полного шифрования диска.

Обычно он работает так: ключи хранятся в TPM, а все криптографические операции выполняются на уровне процессора.

Раньше этого было достаточно, но с ростом производительности NVMe-накопителей шифрование всё чаще стало заметно «отъедать» ресурсы — особенно в играх, при монтаже видео и в других тяжёлых сценариях.

Теперь Microsoft решила переложить основную нагрузку с CPU на железо. В новой версии BitLocker массовые криптографические операции могут выполняться напрямую на компонентах SoC (System-on-a-Chip) — через аппаратные модули безопасности (HSM) и доверенные среды выполнения (TEE). В результате снижается нагрузка на процессор и ускоряется работа системы в целом.

По данным Microsoft, при аппаратном ускорении BitLocker потребляет примерно на 70% меньше CPU-циклов на операцию ввода-вывода по сравнению с программным вариантом. Конкретные цифры, конечно, зависят от железа, но разница заметная.

 

Есть и бонус по безопасности. Ключи шифрования теперь лучше изолированы от процессора и оперативной памяти, что снижает риски атак на CPU и память. В Microsoft прямо говорят, что в перспективе это позволит полностью убрать BitLocker-ключи из зоны доступа CPU и RAM, оставив их под защитой специализированного «железа» и TPM.

Аппаратно ускоренный BitLocker включается автоматически — при условии, что система его поддерживает. Речь идёт о Windows 11 версии 24H2 (с установленными сентябрьскими обновлениями) и Windows 11 25H2, NVMe-накопителе и процессоре с поддержкой криптографического оффлоада. По умолчанию используется алгоритм XTS-AES-256.

Первыми поддержку получат корпоративные системы Intel vPro на процессорах Intel Core Ultra Series 3 (Panther Lake). В дальнейшем Microsoft обещает добавить и другие SoC-платформы.

Проверить, какой режим BitLocker используется на конкретном устройстве, можно командой manage-bde -status — в параметре Encryption Method будет указано, используется ли аппаратное ускорение.

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

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