🇰🇷 한글 설명
Apereo CAS 7.3.0 이상 8.0.0-RC6 미만 버전에는 암호화 취약점이 존재합니다. 서버 수명 동안 AES-GCM 초기화 벡터(IV)가 재사용되어, 인증되지 않은 원격 공격자가 웹플로우 대화 상태를 복호화할 수 있습니다. 이는 IV가 모두 0인 고정값으로 동일한 암호화 키와 함께 사용되기 때문에 발생합니다.
💡 쉬운 설명
로그인 페이지에서 수집한 여러 암호화 토큰을 비교 분석하면 로그인 과정의 내부 상태 정보가 노출될 수 있습니다. 로그인하지 않은 외부 공격자도 이 방식으로 민감한 정보를 해독할 수 있습니다.
🇺🇸 원문 (English)
Apereo CAS 7.3.0 before 8.0.0-RC6 contains a cryptographic vulnerability that allows remote unauthenticated attackers to recover plaintext conversation state by exploiting AES-GCM initialization vector reuse across the server lifetime. Attackers can collect multiple client-side webflow execution tokens from the unauthenticated login page and perform known-plaintext analysis to decrypt the webflow conversation state due to keystream reuse caused by a fixed all-zero IV paired with the same encryption key.
📍 영향받는 시스템
Apereo CAS 7.3.0 이상 8.0.0-RC6 미만 버전
⚔️ 공격 벡터
비인증 원격 공격자가 로그인 페이지에서 웹플로우 실행 토큰을 여러 개 수집한 뒤 알려진 평문 분석으로 대화 상태를 복호화
🛡️ 대응 방법
Apereo CAS를 8.0.0-RC6 이상 버전으로 업그레이드하고 AES-GCM에 고유한 랜덤 IV가 사용되도록 설정
🔧 검증 코드
출력된 버전이 7.3.0 이상 8.0.0-RC6 미만이면 취약하며, 8.0.0-RC6 이상이거나 출력이 없으면 해당 설치 경로에서는 취약 버전이 확인되지 않은 것입니다.
find / -name 'cas*.jar' 2>/dev/null | xargs -I{} sh -c 'unzip -p {} META-INF/MANIFEST.MF 2>/dev/null | grep -i "Implementation-Version"'