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

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

Атакующие прячут зловред в эмодзи и обходят ИИ-фильтры

Киберпреступники стали чаще использовать эмодзи и другие особенности Unicode, чтобы прятать вредоносный код, обходить фильтры и ускользать даже от ИИ-защиты. Новый тренд уже получил название emoji smuggling — «контрабанда через эмодзи».

Суть проста: злоумышленники кодируют команды и данные в символах, которые выглядят безобидно.

Это могут быть эмодзи, похожие друг на друга буквы из разных алфавитов (гомоглифы), невидимые символы Unicode или специальные знаки, меняющие порядок отображения текста. В итоге человек видит одно, а система обрабатывает совсем другое.

Один из популярных приёмов — подмена символов в доменах. Например, «apple.com» можно зарегистрировать с кириллическими буквами, которые визуально почти не отличаются от латиницы. В браузере адрес выглядит привычно, но ведёт на фишинговую страницу. Такие IDN-гомографические атаки известны давно, но сейчас они становятся частью более сложных схем.

Другой класс трюков — невидимые символы вроде Zero Width Space (U+200B). Они не отображаются на экране, но меняют структуру строки. Это позволяет «сломать» простые сигнатурные фильтры и при этом сохранить работоспособность кода. Исследователи уже показали инструменты, с помощью которых можно спрятать целый JavaScript-модуль в «пустом» файле за счёт нулевой ширины символов.

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

Особенно тревожит исследователей влияние таких техник на ИИ-системы. По данным Mindgard, FireTail и других компаний, Unicode-манипуляции и «эмодзи-контрабанда» позволяют обходить фильтры безопасности LLM почти со 100-процентной эффективностью. Скрытая нагрузка может активироваться после простой расшифровки внутри модели, даже если видимый текст выглядит безобидно.

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

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