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

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

Kaspersky Container Security добавил собственные политики безопасности

«Лаборатория Касперского» выпустила обновление Kaspersky Container Security (KCS). В новой версии разработчики сделали ставку на гибкость настройки, контроль цепочек поставок ПО и ускорение работы платформы. Одним из главных нововведений стала возможность создавать собственные политики безопасности.

Теперь компании могут настраивать правила защиты контейнеров, контроля доступа и критерии безопасности под свои внутренние требования, а не ограничиваться стандартными шаблонами.

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

Обновление также затронуло безопасность цепочек поставок ПО. В KCS появились специальные механизмы для поиска ошибок конфигурации в GitHub Actions. Решение умеет выявлять потенциально опасные настройки, включая небезопасный запуск рабочих процессов, ошибки обработки входных данных и проблемы с управлением версиями.

Подобные ошибки могут использоваться злоумышленниками для внедрения вредоносного кода в сборки или компрометации инфраструктуры разработки.

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

Не обошлось и без оптимизации производительности. По данным разработчиков, производительность узлов-агентов выросла в 2,5 раза, а скорость работы механизма динамического контроля доступа (DAC) увеличилась в 10 раз благодаря кэшированию результатов сканирования.

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

Ещё одно полезное изменение — динамическое обновление агентов без повторного развёртывания. Это позволяет менять настройки безопасности без остановки сервисов и перезапуска инфраструктуры.

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

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