Найдена уязвимость удаленного выполнения кода в 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

Стив Джобс мог вернуться в Apple благодаря секретному заказу американской разведки, который помог его компании NeXT пережить тяжёлые времена. ЦРУ договорилось закупать до 20 тыс. рабочих станций в год для обработки спутниковых снимков. История началась в 1986 году.

Сотрудники секретной программы ЦРУ Program B Джо Ромелло и Джефф Харрис предложили Джобсу создать модифицированную версию компьютера NeXT: с более быстрым процессором Motorola и специальной графической картой Intel.

Публично NeXT рассказывала о партнёрстве с компанией ESL, а внутри правительства закупку проводило Агентство национальной безопасности. Компьютеры забирали немаркированные грузовики, дорабатывали в подставной компании ЦРУ и самолётами C-5 отправляли в Национальное управление военно-космической разведки США.

По данным The Wall Street Journal, аналитики использовали NeXTcube для просмотра спутниковых снимков, отслеживания войск и строительства ракетных шахт. На этих же компьютерах готовили мультимедийные разведывательные брифинги для законодателей и президента.

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

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

В 1996 году Apple купила NeXT, после чего Джобс вернулся в основанную им компанию. Система NeXTSTEP стала технологической основой будущей macOS, а затем и продуктов Apple, включая iPhone.

Нельзя утверждать, что ЦРУ в одиночку вернуло Джобса в директорское кресло, но без секретных госзакупок история Apple могла сложиться иначе.

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