🇰🇷 한글 설명
Authlib 1.6.9 미만 버전의 JWS 구현체에서 JWK 헤더 주입 취약점이 발견되었습니다. 공격자가 제어 가능한 JWT jwk 헤더 필드에 포함된 암호화 키를 라이브러리가 그대로 사용하여, 서명 검증을 우회하고 임의의 JWT 토큰을 위조할 수 있습니다.
💡 쉬운 설명
로그인 인증을 담당하는 라이브러리가 공격자가 보낸 가짜 열쇠를 진짜 열쇠로 착각하는 문제입니다. 이를 통해 공격자는 아이디와 비밀번호 없이도 시스템에 마음대로 접속할 수 있습니다.
🇺🇸 원문 (English)
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.9, a JWK Header Injection vulnerability in authlib's JWS implementation allows an unauthenticated attacker to forge arbitrary JWT tokens that pass signature verification. When key=None is passed to any JWS deserialization function, the library extracts and uses the cryptographic key embedded in the attacker-controlled JWT jwk header field. An attacker can sign a token with their own private key, embed the matching public key in the header, and have the server accept the forged token as cryptographically valid — bypassing authentication and authorization entirely. This issue has been patched in version 1.6.9.
📍 영향받는 시스템
Authlib Python library versions prior to 1.6.9
⚔️ 공격 벡터
공격자가 조작된 jwk 헤더를 포함한 JWT를 전송하여 서명 검증을 우회함
🛡️ 대응 방법
Authlib 라이브러리를 1.6.9 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 1.6.9 미만인지 확인하십시오.
pip show authlib | grep Version