pac4j-jwt, 암호화된 JWT 처리 중 인증 우회 취약점 발견!

by DD
3개월 전
조회수 22

pac4j-jwt 라이브러리에서 인증 우회 취약점(Authentication Bypass Vulnerability)이 발견되어, 공격자가 임의의 사용자 권한을 획득할 수 있는 문제 발생

취약점은 암호화된 JWT(JWE) 처리 과정에서 발생하며, 서버의 RSA 공개키(RSA Public Key)를 가진 공격자가 위조된 토큰(Forged Token)을 생성 가능

공격자는 임의의 subject 및 role claim을 가진 JWT를 생성하여 관리자 권한 획득 가능

해당 취약점은 pac4j-jwt 4.5.9, 5.7.9, 6.3.3 이전 버전에서 발생하며, 패치 권고(Patch Recommendation)

취약점 발생 원인: JWE 처리 과정

본 취약점은 pac4j-jwt 라이브러리가 암호화된 JWT(JWE)를 처리하는 과정에서 발생한다. 기술적으로 보면, 공격자는 서버의 RSA 공개키를 이용하여 JWE로 래핑된 PlainJWT를 생성할 수 있다. 이 PlainJWT는 임의의 subject 및 role claim을 포함하며, 서명 검증(Signature Verification)을 우회하여 인증을 통과한다. 이는 pac4j-jwt의 취약한 JWE 처리 로직(Vulnerable JWE Processing Logic) 때문이다.

영향 및 공격 시나리오

해당 취약점은 공격자가 임의의 사용자 권한(Arbitrary User Privilege)을 획득할 수 있게 한다. 특히, 관리자 권한을 가진 사용자로 위장하여 시스템에 접근할 수 있다는 점에서 심각하다. 실제 사례로는, 공격자가 위조된 JWT(Forged JWT)를 사용하여 시스템의 민감한 정보에 접근하거나, 시스템 설정을 변경하는 등의 행위를 할 수 있다. 따라서, 신속한 패치 적용(Rapid Patch Application)이 요구된다.

대응 방안: 패치 및 버전 관리

가장 중요한 대응 방안은 pac4j-jwt 라이브러리를 최신 버전으로 업데이트하는 것이다. 구체적으로, 4.5.9, 5.7.9, 6.3.3 이상의 버전으로 업데이트해야 한다. 또한, RSA 공개키의 안전한 관리(Secure RSA Public Key Management)와 함께, JWT 검증 로직을 강화하는 것도 중요하다. 추가적으로, 정기적인 보안 취약점 점검(Regular Security Vulnerability Checks)을 통해 잠재적인 위험을 사전에 방지해야 한다.

pac4j-jwt JwtAuthenticator Authentication Bypass