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

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

RuTaxi: в России обнаружили Android-троян, отслеживающий дисплей жертвы

Эксперты Cyfirma разобрали новый Android-троян RuTaxi, который нацелен прежде всего на российских пользователей. Это уже не просто банковский зловред для кражи денег со счетов, а куда более серьёзный инструмент с возможностью почти в реальном времени следить за устройством жертвы и управлять им.

По данным исследователей, зловред маскируется под легитимные сервисы. В некоторых образцах используется идентификатор «RuTaxi».

Судя по архитектуре и набору функций, вредоносная программа изначально создавалась под конкретную аудиторию: она заточена под российский рынок и при этом старается не привлекать лишнего внимания в других регионах.

Главная особенность RuTaxi — сочетание привычных банковских сценариев с возможностями удалённого доступа. В отличие от более простых троянов, этот вредонос даёт операторам практически окно в цифровую жизнь пользователя. Для этого используются API Accessibility и MediaProjection, а передача изображения с экрана идёт через WebSocket.

На практике это позволяет злоумышленникам перехватывать коды разблокировки устройства прямо в момент ввода, сохранять их локально вместе с отметками времени, собирать нажатия клавиш и упаковывать их в структурированные JSON-пакеты с указанием приложения, текста, типа события и времени.

Кроме того, троян пытается стать приложением для СМС по умолчанию. Если это удаётся, он получает доступ ко входящим сообщениям, может перехватывать одноразовые коды, скрывать уведомления и незаметно удалять сообщения.

Авторы RuTaxi явно постарались усложнить жизнь аналитикам и антивирусным движкам. Значительная часть критически важной логики вынесена из Java-кода в нативную библиотеку sysruntime.so. Именно там, как отмечают в Cyfirma, скрываются важные данные вроде bot ID, списка серверов и ссылки для WebView.

Адрес управляющего сервера, который исследователи связали с 193.233.112.229, а также Firebase-данные собираются только во время выполнения. Для этого используются XOR-обфускация строк и нелинейные схемы доступа к памяти.

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

Отдельно эксперты обратили внимание на логику выбора целей. RuTaxi не работает вслепую: он проверяет, какие приложения установлены на устройстве, и ищет банковские сервисы, маркетплейсы, госуслуги и криптокошельки, популярные в России. В расшифрованном списке целей оказались, в частности, Сбербанк, Т-Банк, ВТБ, Альфа-Банк, а также Binance и MetaMask.

 

RuTaxi, к слову, входит в список из шести новых зловредов для Android, об активности которых мы предупреждали вчера.

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