🔍 CVE-2026-70482

8.1
CVSS Score
HIGH
2026-08-04
2026-11-03 23:17
✅ 완료

🇰🇷 한글 설명

Open WebUI 0.8.0부터 0.11.0 이전까지, ENABLE_OAUTH_TOKEN_EXCHANGE=True 설정 시 /oauth/{provider}/token/exchange 엔드포인트가 원시 제공자 액세스 토큰을 받아 userinfo 엔드포인트로만 검증하고, 해당 토큰이 어떤 OAuth 클라이언트에 발급되었는지는 확인하지 않습니다. 이로 인해 동일 제공자에 등록된 임의의 클라이언트용 토큰 보유자가 해당 사용자의 Open WebUI 세션을 획득할 수 있습니다. 0.11.0에서 수정되었습니다.

💡 쉬운 설명

다른 앱에서 발급받은 로그인 열쇠를 가진 사람이 이 AI 서비스에 그 사용자인 척 들어올 수 있는 문제입니다. 운영자가 허용하지 않은 외부 앱의 토큰으로도 로그인이 가능했습니다.

🇺🇸 원문 (English)

Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.8.0 until 0.11.0, when ENABLE_OAUTH_TOKEN_EXCHANGE=True, /oauth/{provider}/token/exchange accepts a raw provider access token and validates it by calling the provider userinfo endpoint without confirming which OAuth client the token was issued to. Anyone holding an access token minted for any client registered with the same provider could exchange it for an Open WebUI session as that token user, including applications the operator does not control and has never authorized. This issue is fixed in 0.11.0.

📍 영향받는 시스템

Open WebUI 0.8.0 이상 0.11.0 미만 (ENABLE_OAUTH_TOKEN_EXCHANGE=True 설정 시)

⚔️ 공격 벡터

동일 OAuth 제공자에 등록된 다른 클라이언트에서 발급된 액세스 토큰을 획득한 공격자가 token/exchange 엔드포인트에 제출해 피해자 세션을 탈취

🛡️ 대응 방법

Open WebUI를 0.11.0 이상으로 업그레이드하거나, 해당 기능이 불필요하면 ENABLE_OAUTH_TOKEN_EXCHANGE를 비활성화

🔧 검증 코드

출력된 설정값이 True이고 버전이 0.11.0 미만이면 취약하며, 0.11.0 이상이거나 설정값이 False/미설정이면 영향이 없습니다.

Shell / Script
docker exec open-webui sh -c 'echo $ENABLE_OAUTH_TOKEN_EXCHANGE; cat /app/CHANGELOG.md 2>/dev/null | head -5' 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

TeamViewer Remote Control App