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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-103956-loom-unauth — CVE-2026-103956 — Loom для AWS — критический — обход аутентификации — неаутентифицированный супер-администратор при отсутствии настроенного IdP | Kitploit
Инструменты/GitHubGitHub/abraxas/cve-2026-103956-loom-unauth
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВиртуализация для безопасностиТестирование на ПроникновениеБезопасность облачных средАутентификацияЛаборатории и Практика
GitHubabraxas/cve-2026-103956-loom-unauth

cve-2026-103956-loom-unauth

CVE-2026-103956 — Loom для AWS — критический — обход аутентификации — неаутентифицированный супер-администратор при отсутствии настроенного IdP

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

Популярное

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

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

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

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

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

Abraxas Labs - cve-2026-103956-loom-unauth

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  cve-2026-103956-loom-unauth

cve-2026-103956-loom-unauth

Loom for AWS < 1.6.1 - AWS Labs

Когда Cognito не настроен и внешний IdP не активен, get_current_user выдаёт каждому запросу t-admin / g-admins-super. Это касается и запросов без заголовка Authorization. Свежий деплой до настройки IdP — это открытая админ-панель.

IDCVE-2026-103956
CWECWE-306 / CWE-1188
CVSSCritical: 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
ПродуктLoom for AWS
Затронуто< 1.6.1. Закреплено в лаборатории v1.6.0 (8c658d61). Исправлено в v1.6.1 (ccad5665).
Аутентификациябез аутентификации
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1

Что может сделать атакующий

Атакующий получает контроль над плоскостью управления агентами без каких-либо учётных данных.

  • Входит как супер-администратор. GET /api/auth/me без заголовка возвращает username=local-dev, sub=local, группы t-admin и g-admins-super. Все области действия в GROUP_SCOPES идут вместе с этой идентичностью.
  • Регистрирует серверы инструментов. Неаутентифицированный POST /api/mcp/servers возвращает 201. MCP, A2A, агенты, памяти, безопасность, настройки, учётные данные и аудит администратора находятся за той же зависимостью.
  • Читает сохранённые секреты интеграций. GET /api/mcp/servers/{id}/export требует admin:write. На этой версии он возвращает oauth2_client_secret из SQLite. В тексте CVE также упоминается перезапись политик ролей IAM для управляемых ролей агентов; этот путь требует AWS и выходит за рамки данной лаборатории с loopback.
  • Атакует через опубликованный порт. Свежий деплой, забытый Cognito или IdP, который не загрузился. Бэкенд — это FastAPI на порту 8000. Сетевой доступности достаточно.

v1.6.1 требует LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV плюс loopback-клиент. Тот же запрос возвращает 401 (No identity provider configured).

Как я это нашёл

AWS опубликовала CVE-2026-103956 вместе с GHSA-vgmj-998f-r8mp и бюллетенем 2026-124-AWS. Я закрепил awslabs/loom v1.6.0 (8c658d61) рядом с v1.6.1 (ccad5665) и запустил бэкенд на SQLite с неустановленным LOOM_COGNITO_USER_POOL_ID.

backend/app/dependencies/auth.py get_current_user проверяет переменные окружения Cognito и активную запись IdP. Оба пусты: он возвращает UserInfo(sub="local", username="local-dev", groups=["t-admin", "g-admins-super"], scopes=ALL_SCOPES). Токен никогда не читается.

Я поднял стандартный FastAPI на loopback 127.0.0.1:18180 (v1.6.0) и 18181 (v1.6.1). Без фронтенда. Без AWS. Неаутентифицированный GET /api/auth/me на 1.6.0 вернул 200 с этими группами. Неаутентифицированный POST /api/mcp/servers с oauth2_client_secret=CVE-2026-103956-WITNESS вернул 201. GET /api/mcp/servers/1/export вернул секрет обратно. На 1.6.1 тот же /api/auth/me вернул 401.

SUCCESS CVE-2026-103956 me-http=200 me-user=local-dev me-sub=local me-groups=t-admin,g-admins-super mcp-create=201 export-has-secret=yes list-has-witness=yes patched-me-http=401 CVE-2026-103956-WITNESS

Уже зафиксированные ошибки: public.ecr.aws/docker/library/python:3.13-slim был пропущен в пользу Docker Hub python:3.13-slim; первый /health на v1.6.0 вернул curl 52, пока uvicorn привязывался, затем 200; схема создания MCP совпала с первого POST, без повторной попытки 422. Обратная оболочка. Театр. Оракул — это /api/auth/me плюс экспортированный секрет.

Лаборатория

cd lab
./run.sh

Цель только http://127.0.0.1:18180 (v1.6.0) и http://127.0.0.1:18181 (v1.6.1). run.sh выполняет shallow-клон этих тегов, собирает оба бэкенда, затем разбирает стек. SQLite. Без переменных окружения Cognito. Без LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV на пропатченном сервисе.

Исправление

Обновитесь до 1.6.1 или более поздней версии. AWS рекомендует 1.7.0 для смежных проблем SSRF/токенов. Обход в 1.6.1 является опциональным и только для loopback. До этого завершите настройку Cognito или внешнего IdP, прежде чем бэкенд станет доступен за пределами loopback, и оставляйте LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV неустановленным на всём, что развёрнуто.

Ссылки

  • CVE-2026-103956
  • GHSA-vgmj-998f-r8mp
  • AWS bulletin 2026-124-AWS
  • awslabs/loom теги v1.6.0 / v1.6.1
  • backend/app/dependencies/auth.py (get_current_user)
  • CWE-306

Лицензия

GNU Affero GPL v3.0

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