🇰🇷 한글 설명
ORY Oathkeeper의 oauth2_introspection 인증기에서 캐시 키 혼동으로 인해 인증 우회가 발생할 수 있는 취약점입니다. 캐시가 서로 다른 검사(introspection) URL을 구분하지 못하여, 공격자가 특정 서버에서 유효한 토큰을 사용하여 캐시를 생성한 뒤 다른 서버의 규칙을 통과하는 데 악용할 수 있습니다.
💡 쉬운 설명
인증 정보를 저장하는 임시 저장소(캐시)가 서로 다른 출처를 구분하지 못하는 문제입니다. 공격자가 가짜 열쇠를 미리 등록해두면, 다른 문을 열 때도 그 열쇠가 통할 수 있는 보안 허점이 있습니다.
🇺🇸 원문 (English)
ORY Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision API that authorizes HTTP requests based on sets of Access Rules. Versions prior to 26.2.0 are vulnerable to authentication bypass due to cache key confusion. The `oauth2_introspection` authenticator cache does not distinguish tokens that were validated with different introspection URLs. An attacker can therefore legitimately use a token to prime the cache, and subsequently use the same token for rules that use a different introspection server. Ory Oathkeeper has to be configured with multiple `oauth2_introspection` authenticator servers, each accepting different tokens. The authenticators also must be configured to use caching. An attacker has to have a way to gain a valid token for one of the configured introspection servers. Starting in version 26.2.0, Ory Oathkeeper includes the introspection server URL in the cache key, preventing confusion of tokens. Update to the patched version of Ory Oathkeeper. If that is not immediately possible, disable caching for `oauth2_introspection` authenticators.
📍 영향받는 시스템
ORY Oathkeeper 26.2.0 미만 버전 (oauth2_introspection 캐싱 사용 시)
⚔️ 공격 벡터
유효한 토큰으로 캐시를 먼저 생성(priming)한 후, 동일한 토큰을 다른 검사 서버를 사용하는 규칙에 사용하여 인증을 우회함
🛡️ 대응 방법
Ory Oathkeeper를 26.2.0 이상 버전으로 업데이트하거나, 즉시 업데이트가 불가능할 경우 oauth2_introspection 인증기의 캐싱 기능을 비활성화하십시오.
🔧 검증 코드
명령어 결과에 26.2.0 이상의 버전이 표시되지 않으면 취약한 버전으로 간주합니다.
ory version 2>/dev/null | grep -E '26\.[2-9]|2[7-9]\.' || echo 'Vulnerable'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Verify Identity Access