Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/abraxas/cve-2026-103956-loom-unauth
Vulnerability AnalysisExploitationWeb Application ExploitationSecurity VirtualizationPenetration TestingCloud SecurityAuthenticationLabs & Practice
GitHubabraxas/cve-2026-103956-loom-unauth

cve-2026-103956-loom-unauth

CVE-2026-103956 - Loom for AWS - 심각 - 인증 우회 - IdP가 구성되지 않은 경우 인증되지 않은 슈퍼 관리자

저장소 보기
318시간 50분 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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
ProductLoom for AWS
Affected< 1.6.1. Lab pin v1.6.0 (8c658d61). Fixed in v1.6.1 (ccad5665).
Authunauthenticated
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 only

공격자가 할 수 있는 일

공격자는 자격 증명 없이 에이전트 제어 평면을 장악합니다.

  • 슈퍼 관리자로 들어갑니다. 헤더 없이 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입니다. 이 핀에서는 SQLite에서 oauth2_client_secret을 반환합니다. CVE 텍스트는 관리형 에이전트 역할에 대한 IAM 역할 정책 재작성도 언급하지만, 해당 경로는 AWS가 필요하며 이 루프백 랩 범위를 벗어납니다.
  • 공개된 포트에서 공격합니다. 새 배포, 잊힌 Cognito, 또는 로드에 실패한 IdP. 백엔드는 8000번 포트의 FastAPI입니다. 네트워크 도달만으로 충분합니다.

v1.6.1은 LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV와 루프백 클라이언트를 요구합니다. 동일한 요청은 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) 옆에 고정하고 LOOM_COGNITO_USER_POOL_ID를 설정하지 않은 상태로 SQLite에서 백엔드를 실행했습니다.

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)를 반환합니다. 토큰은 절대 읽히지 않습니다.

저는 루프백 127.0.0.1:18180(v1.6.0)과 18181(v1.6.1)에서 기본 FastAPI를 구동했습니다. 프런트엔드 없음. AWS 없음. 1.6.0에서 인증되지 않은 GET /api/auth/me는 해당 그룹들과 함께 200이었습니다. oauth2_client_secret=CVE-2026-103956-WITNESS를 사용한 인증되지 않은 POST /api/mcp/servers는 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을 위해 건너뛰었습니다. v1.6.0의 첫 /health는 uvicorn이 바인딩된 상태에서 curl 52였고, 그다음 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는 해당 태그를 얕은 복제하고, 두 백엔드를 빌드한 다음, 스택을 정리합니다. SQLite. Cognito 환경 변수 없음. 패치된 서비스에는 LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV 없음.

수정 방법

1.6.1 이상으로 업그레이드하세요. AWS는 형제 SSRF/토큰 문제에 대해 1.7.0을 권장합니다. 1.6.1 우회는 옵트인이며 루프백 전용입니다. 그때까지는 백엔드가 루프백을 넘어 도달 가능해지기 전에 Cognito 또는 외부 IdP를 완료하고, 배포된 모든 것에서 LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV를 설정하지 않은 상태로 유지하세요.

참고 자료

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

라이선스

GNU Affero GPL v3.0

도구 다운로드