🔍 CVE-2026-101023

9.1
CVSS Score
CRITICAL
2026-10-06
2026-10-13 14:39
✅ 완료

🇰🇷 한글 설명

Gitea의 OAuth2 토큰 엔드포인트가 refresh_token 유형의 토큰을 검증할 때 해당 토큰이 실제 리프레시 토큰인지 확인하지 않는 취약점이 발견되었습니다. 이로 인해 만료되지 않은 액세스 토큰을 가진 공격자가 이를 리프레시 토큰처럼 사용하여 새로운 액세스 토큰과 리프레시 토큰을 계속해서 발급받을 수 있습니다.

💡 쉬운 설명

로그인 유지용 열쇠가 아닌 일반 입장권(액세스 토큰)을 가지고도, 마치 열쇠인 것처럼 속여서 계속해서 새로운 입장권을 받아낼 수 있는 문제입니다. 결과적으로 공격자가 원래 허용된 시간보다 훨씬 더 오랫동안 시스템에 접속해 있을 수 있습니다.

🇺🇸 원문 (English)

Gitea's OAuth2 token endpoint verified the signature and grant of a token submitted with the `refresh_token` grant type, but not that the token was a refresh token. An unexpired access token for the same OAuth2 application and grant could be exchanged for a new access token and refresh token. Whoever holds such an access token could keep access beyond the token's original lifetime.

📍 영향받는 시스템

Gitea (OAuth2 구현 관련 취약 버전)

⚔️ 공격 벡터

유효한 액세스 토큰을 탈취한 공격자가 이를 refresh_token grant type으로 요청하여 새로운 토큰 세트를 획득함

🛡️ 대응 방법

Gitea를 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.

🔧 검증 코드

액세스 토큰을 refresh_token 타입으로 보냈을 때 새로운 access_token이 응답에 포함되면 취약한 상태입니다.

Shell / Script
curl -s -X POST [GITEA_URL]/login/oauth2/token -d "grant_type=refresh_token&refresh_token=[ACCESS_TOKEN]" | grep -q "access_token"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git