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

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

ЦОДы мощностью от 500 кВт могут получить защиту от принудительного переноса

Земельные участки с крупными центрами обработки данных могут получить особую защиту от изъятия под государственные и муниципальные нужды. Предложение вошло в проект дорожной карты «Гильотина 2.0» по направлению ЦОД. Запрет планируют ввести с 15 декабря 2027 года.

Под защиту предлагают взять ЦОДы мощностью от 500 кВт, включённые в российский реестр дата-центров, выяснили «Ведомости».

Поправки должны не позволить отправить работающий объект под снос ради комплексного развития территории. ЦОД всё-таки не гараж: разобрать его вечером и перевезти на соседний участок не получится.

Но отрасль уже спорит об условиях. Ассоциация участников отрасли ЦОД считает порог в 500 кВт необоснованным: стандартизированного способа отделить ИТ-нагрузку от общей электрической мощности пока нет. Привязку к реестру там тоже критикуют. Участие в нём добровольное, поэтому защита может достаться не всем объектам.

В Координационном совете ЦОД порог поддерживают: гарантия должна распространяться прежде всего на крупные и сложные для замены площадки. Если освободить землю всё же необходимо, инициатору застройки предлагают предоставить равноценный участок или оплатить его создание.

Компенсацией за стены и серверные стойки дело не ограничится. В возмещение хотят включить строительство нового ЦОДа, перенос оборудования и ИТ-нагрузки, резервирование мощностей, прокладку линий связи и электросетей, а также потери от досрочного расторжения договоров с клиентами.

Инициативу поддержали РТК-ЦОД, МТС и «Мегафон», но операторы также выступают против обязательной привязки к реестру.

Вопрос особенно болезненный для Москвы: местные ЦОДы заполнены примерно на 95%, свободных энергомощностей почти нет, а новые площадки всё чаще приходится строить в регионах. В таких условиях снести работающий дата-центр — значит не просто освободить участок, а попробовать перевезти кусок цифровой инфраструктуры вместе со всеми её клиентами. Дорого, долго и с отличными шансами что-нибудь уронить.

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