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

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

Мыши Logitech на macOS дали сбой из-за сертификата. Вот как это исправить

Если ваша мышь Logitech внезапно начала странно себя вести на macOS, вы такой не один, и причина у этой истории максимально неловкая для производителя. Проблема оказалась не в macOS, не в прошивке и не в самой мыши, а в просроченном сертификате Apple Developer у Logitech.

О проблеме первым рассказал пользователь Reddit, у которого MX Master 3S for Mac после почти двух лет безупречной работы вдруг «сломалась» на ровном месте: поменялось направление прокрутки, дополнительные кнопки перестали работать, а приложение Logi Options+ застряло в бесконечном цикле запуска.

Попытки «лечения» выглядели стандартно: перезагрузка компьютера, сброс мыши, переустановка приложения. Всё — безрезультатно. Причина вскрылась быстро: другой пользователь указал, что Logitech просто не продлила сертификат разработчика.

Из-за этого macOS перестала доверять приложению. В итоге:

  • Logi Options+ не запускается;
  • автоматическое обновление невозможно — по той же самой причине;
  • пользователь остаётся с дорогой мышью, работающей в «урезанном» режиме.

Надо отдать должное компании: Logitech не стала юлить и прямо признала ошибку.

«Мы здесь действительно облажались. Это непростительная ошибка. Приносим извинения за доставленные неудобства», — заявили в компании.

 

Проблему уже исправили, но обновляться придётся вручную. Logitech разослала пользователям электронные письма и опубликовала специальную страницу с инструкцией.

Что делать пользователям macOS

Для Logi Options+:

  1. Скачать обновлённый инсталлятор (ZIP).
  2. Дважды кликнуть по файлу.
  3. Установщик автоматически закроется, а Options+ запустится.
  4. Все устройства, настройки и кастомизации восстановятся.

Для Logitech G HUB:

  1. Скачать обновлённый инсталлятор (ZIP).
  2. Запустить файл.
  3. После сообщения «программное обеспечение уже установлено» просто закрыть установщик.

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