Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-39987_POC — Эксплойт proof-of-concept для CVE-2026-39987 — RCE до аутентификации в WebSocket-эндпоинте /terminal/ws Marimo, позволяющая получить интерактивную оболочку без учётных данных. | Kitploit
Инструменты/GitHubGitHub/julichaan/cve-2026-39987_poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияИнструмент Удаленного Доступа
GitHubjulichaan/cve-2026-39987_poc

CVE-2026-39987_POC

Эксплойт proof-of-concept для CVE-2026-39987 — RCE до аутентификации в WebSocket-эндпоинте /terminal/ws Marimo, позволяющая получить интерактивную оболочку без учётных данных.

Репозиторий
10 ч 18 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

PoC — CVE-2026-39987 · Marimo Pre-Auth RCE

CVSS 4.0: 9.3 (Critical) · AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H Затрагивает: marimo <= 0.20.4 · Исправлено в: 0.23.0 · CWE-306 (Отсутствие аутентификации) Advisory: GHSA-2679-6mx9-h9xc · Fix: marimo-team/marimo@c24d480

Первопричина

WebSocket-эндпоинт /terminal/ws (marimo/_server/api/endpoints/terminal.py) проверяет только режим сессии (EDIT) и поддержку платформы, прежде чем принять соединение и вызвать pty.fork(). Он не содержит ни декоратора @requires(...), ни вызова validate_auth().

Для сравнения, в 0.20.4:

  • 73 использования @requires(...) в 18 эндпоинтах.
  • /ws (notebook) -> 2 вызова .
validate_auth()
  • terminal.py -> 0 @requires, 0 validate_auth. <-- уязвимость.
  • Промежуточное ПО AuthBackend защищает HTTP и WebSocket /ws, но /terminal/ws принимает соединение без cookie и без токена и порождает PTY-шелл с привилегиями процесса marimo.

    Требования для эксплуатации

    • marimo запущен в режиме EDIT (marimo edit ...), что является режимом по умолчанию для редактора.
    • Платформа с поддержкой pty (Linux/macOS; Windows и Pyodide не затронуты).
    • Сетевой доступ к порту. Учётные данные не требуются.

    Сценарий атаки

    Злоумышленник, имеющий сетевой доступ к серверу marimo edit (что часто встречается в удалённых / контейнерных развёртываниях, нередко запущенных от root), получает интерактивный шелл без аутентификации: кража учётных данных (cat .env), боковое перемещение, развёртывание вредоносного ПО. Эксплуатировалась в реальных атаках менее чем через 10 ч после раскрытия; добавлена в каталог KEV CISA 2026-04-23.

    Использование PoC

    root@kitploit:~
    pip install "marimo==0.20.4" websockets
    marimo edit demo.py --headless --port 2718 --token --token-password SECRET
    python exploit.py ws://127.0.0.1:2718 "id; cat /etc/passwd"
    

    exploit.py не отправляет ни токен, ни cookie, ни заголовок Authorization. Он отправляет команду как обычный текст + "\r" (Enter), точно так, как пользователь ввёл бы её в терминале.

    Результат, полученный в лаборатории (Kali, marimo 0.20.4)

    • Базовый уровень БЕЗ токена: HTTP -> 401 ; /ws -> 403 (аутентификация РАБОТАЕТ).
    • /terminal/ws БЕЗ токена -> ПРИНЯТ. Выполнено на сервере: uid=1000() gid=1000() ... Linux ... и записан /tmp/cve_2026_39987_proof.txt -> RCE подтверждён.

    Устранение

    Обновитесь до marimo >= 0.23.0. Временная мера: не предоставляйте marimo edit доступ к недоверенным сетям; разместите редактор за аутентифицированным прокси; запускайте его без привилегий / в контейнере без секретов.

    Отказ от ответственности

    Только для авторизованного тестирования безопасности и образовательных целей. Запускайте только против систем, которыми вы владеете или на тестирование которых у вас есть явное разрешение.

    Скачать инструмент