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

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

Apple нашла на MacBook экс-сотрудника новые улики против OpenAI

Apple представила суду новые доказательства по делу против OpenAI и своего бывшего сотрудника Чанга Лю. Компания утверждает, что тот использовал в работе на новом месте конфиденциальную схему микросхемы Apple, а затем попытался уничтожить улики.

Новые материалы обнаружили на старом рабочем MacBook Лю, который его адвокаты передали для изучения.

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

Apple также заявила, что OpenAI знала о доступе Лю к корпоративным данным. Более того, когда в июне инженеру стало известно о расследовании, он якобы привлёк коллегу Ю-Тин Пэна к уничтожению доказательств. Сами материалы в публичной версии судебных документов скрыты.

Ранее Apple публиковала сообщения Лю, из которых следовало, что он понимал: доступ к некоторым корпоративным файлам сохранился даже после увольнения. OpenAI встала на сторону сотрудника и объяснила ситуацию небрежным управлением учётными записями со стороны Apple.

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

Теперь производитель iPhone требует предварительного судебного запрета, который не позволит OpenAI разрабатывать оборудование на основе технологий Apple, пока идёт разбирательство. Кроме того, компания добивается ускоренного сбора доказательств, подозревая причастность других бывших сотрудников.

Масштаб для паранойи подходящий: по данным первоначального иска, в OpenAI работают более 400 выходцев из Apple. Пока суду предстоит разобраться, переехали ли вместе с ними только знания и опыт или ещё и кое-какие файлы из Купертино.

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