🇰🇷 한글 설명
Better Auth의 1.6.11 미만 버전에서 legacy oidcProvider 및 mcp 플러그인이 클라이언트 비밀번호(client_secret)를 검증하지 않고 리프레시 토큰만으로 인증을 허용하는 취약점이 발견되었습니다. 공격자는 유효한 리프레시 토큰을 탈취할 경우 액세스 토큰과 새로운 리프레시 토큰을 무단으로 생성할 수 있습니다. 이 문제는 1.6.11 버전에서 수정되었습니다.
💡 쉬운 설명
로그인을 유지해주는 '리프레시 토큰'만 있으면 비밀번호 확인 없이도 새로운 접속 권한을 계속 얻을 수 있는 보안 구멍이 발견되었습니다. 해커가 이 토큰을 훔치면 사용자의 계정에 계속해서 무단으로 접근할 수 있습니다.
🇺🇸 원문 (English)
Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, the legacy oidcProvider and mcp plugins expose OAuth token endpoints whose refresh_token grant authenticates only possession of the bound refreshToken row and matching client_id, without verifying the confidential client's client_secret, allowing an attacker with a valid refresh_token to mint access tokens and rotated refresh tokens through /api/auth/oauth2/token or /api/auth/mcp/token. The @better-auth/oauth-provider package is not affected. This issue is fixed in version 1.6.11.
📍 영향받는 시스템
Better Auth (legacy oidcProvider 및 mcp 플러그인 사용 시, 1.6.11 미만 버전)
⚔️ 공격 벡터
탈취한 리프레시 토큰을 사용하여 /api/auth/oauth2/token 또는 /api/auth/mcp/token 엔드포인트로 액세스 토큰 갱신 요청
🛡️ 대응 방법
Better Auth 라이브러리를 1.6.11 버전 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 1.6.11 미만인지 확인하십시오.
npm list @better-auth/core | grep -E 'better-auth'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access