🇰🇷 한글 설명
Keycloak의 SAML 1.1 XML 파싱 로직에서 보안 토큰의 키 정보 섹션에 예상치 못한 요소가 포함되면 처리 스레드가 무한 루프에 빠지는 결함이 발견되었습니다. 인증되지 않은 원격 공격자가 특수하게 조작된 요청을 보내 CPU를 100% 점유하고 서비스를 완전히 중단시킬 수 있으며, 복구에는 서버 재시작이 필요합니다.
💡 쉬운 설명
Keycloak은 여러 서비스의 로그인을 관리하는 프로그램입니다. 공격자가 특별히 만든 요청 하나로 이 프로그램을 멈추게 만들 수 있어, 서버를 재시작해야 정상으로 돌아옵니다.
🇺🇸 원문 (English)
A flaw was found in the SAML 1.1 XML parsing logic of Keycloak, an open-source identity and access management solution. The issue occurs when the parser encounters unexpected elements within a security token's key information section, causing the processing thread to enter an infinite loop. An unauthenticated remote attacker could exploit this by sending specially crafted requests, leading to 100% CPU usage and a total denial of service that requires a server restart to resolve.
📍 영향받는 시스템
Keycloak의 SAML 1.1 파싱 기능을 사용하는 버전 (정확한 영향 버전은 공식 보안 권고 확인 필요)
⚔️ 공격 벡터
인증 없이 원격에서 조작된 SAML 1.1 토큰이 포함된 요청을 전송하여 파싱 스레드를 무한 루프에 빠뜨림
🛡️ 대응 방법
Keycloak을 공식 패치가 적용된 최신 버전으로 업데이트하고, 필요 시 SAML 1.1 기능을 비활성화
🔧 검증 코드
출력된 JAR 파일명의 버전 번호 또는 version.txt 내용을 공식 보안 권고의 영향 버전 목록과 대조하여 패치 적용 여부를 판단합니다. 결과가 없으면 Keycloak이 이 경로에 설치되어 있지 않은 것입니다.
ls /opt/keycloak/lib/lib/main/org.keycloak.keycloak-saml-core-*.jar 2>/dev/null; ls /opt/keycloak/version.txt 2>/dev/null && cat /opt/keycloak/version.txt 2>/dev/null