TGViewer
CTT Report Hub CTT Report Hub @aptreports · 3.5K subscribers
Post #32468 30
CTT Report Hub #ParsedReport #CompletenessLow 15-09-2026 Machine speed, hold the AI: Hand-rolled marimo CVE-2026-39987 exploit https://www.sysdig.com/blog/machine-speed-hold-the-ai-hand-rolled-marimo-cve-2026-39987-exploit Report completeness: Low Actors/Campaigns: Scarleteel…
#ParsedReport #ChatGPT #Translated
Autotext: (TI Report Analyser + ChatGPT + Auto Translate)

------
Уязвимость CVE-2026-39987 позволяла атакующим без предварительной аутентификации получить интерактивный шелл через WebSocket-эндпоинт `/terminal/ws` в marimo. Атакующий использовал этот шелл для сбора учетных данных, извлечения SSH-ключа AWS-шлюза (bastion) из Secrets Manager и перехода по SSH, автоматизируя цепочку атаки с помощью скриптов на Python и Paramiko.
-----

CVE-2026-39987 — это уязвимость удаленного выполнения кода (Удаленное Выполнение Кода) до аутентификации в marimo, затрагивающая версии до 0.20.4 включительно, исправленная в версии 0.23.0. WebSocket-эндпоинт `/terminal/ws` не выполнял проверку аутентификации, что позволяло любому клиенту, способному установить соединение, получить интерактивный PTY-шелл, работающий с привилегиями пользователя процесса marimo. Для эксплуатации требуется только открытое WebSocket-соединение, кодирование полезной нагрузки не требуется.

Злоумышленник использовал уязвимость для проведения цепочки атак на основе перехвата учетных данных. Учетные данные были получены из переменных окружения и локальных файлов с учетными данными, а второй набор учетных данных был восстановлен с помощью запроса к Redis к зашифрованным данным учетных данных, хранящимся в приложении. Актор использовал скрипты boto3 для запроса к AWS Secrets Manager, получения закрытого SSH-ключа хоста-бастиона, записи его локально и аутентификации на бастионе. Полная последовательность действий — от установления WebSocket-соединения до запроса в AWS и аутентификации по SSH — заняла примерно восемь секунд.

Актор вручную разрабатывал и отлаживал инструменты на Python в течение нескольких сессий. Скрипты передавались в каталог `/tmp/` в виде файлов, закодированных в base64, а затем выполнялись с помощью фоновых команд `nohup python3`. Инструменты включали код обратного шелла на основе стандартной библиотеки Python и автоматизацию SSH на базе Paramiko. За 17 минут было создано восемь вариантов скриптов, при этом в более поздних версиях были добавлены обработка исключений и тайм-ауты сокетов. Актор также предпринял попытку использования AWS EC2 Instance Connect. Когда перечисление инстансов вернуло ошибку `UnauthorizedOperation`, автоматизация всё равно вызвала `SendSSHPublicKey`, используя идентификатор инстанса-заглушку `i-0000000000000000`, что сформировало характерный поведенческий индикатор.

Среди соответствующих индикаторов на хосте: `/tmp/chain.py`, `/tmp/full_chain.py`, `/tmp/bastion_key` с ограничительными правами доступа, `/tmp/chain.log`, `/tmp/chain_output.txt` и `/tmp/callback.log`. Поведенческие индикаторы включают декодирование Python-скриптов из base64 в каталог `/tmp/`, быстрое выполнение фоновых цепочечных скриптов, вызовы Secrets Manager через boto3 с перебором регионов `us-west-2`, `eu-west-1`, `ap-southeast-1` и `us-east-2`, а также SSH-соединения через Paramiko от имени root. Наблюдаемые адреса источника и C2, `172.236.12.17` и `45.79.187.72`, размещались в AS63949. При обнаружении следует уделять приоритетное внимание последовательности: доступ через WebSocket, использование учетных данных, извлечение данных из Secrets Manager, развёртывание SSH-ключа и исходящее соединение с bastion-хостом.
More from @aptreports
  1. Oct 2, 2026#ParsedReport #ChatGPT #Translated Autotext: (TI Report Analyser + ChatGPT + Auto Translat…
  2. Oct 2, 2026#ParsedReport #GeneratedSchema Generated with GPT-4
  3. Oct 2, 2026#ParsedReport #CompletenessLow 02-10-2026 Stealers reach a new level: automated AI profili…
  4. Oct 2, 2026#ParsedReport #ChatGPT #Translated Autotext: (TI Report Analyser + ChatGPT + Auto Translat…
  5. Oct 2, 2026#ParsedReport #GeneratedSchema Generated with GPT-4
  6. Oct 2, 2026#ParsedReport #CompletenessMedium 26-09-2026 PolinRider is A/B Testing its Way Past Your D…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →