🇰🇷 한글 설명
Omni의 SAML 인증 과정에서 발생하는 레이스 컨디션 취약점으로, 동일한 SAML 세션 토큰을 사용하는 동시 요청이 인증 상태를 업데이트하기 전에 각각 인증을 통과할 수 있습니다. 공격자는 이를 통해 피해자의 권한으로 gRPC 엔드포인트를 호출하거나 다수의 영구 자격 증명을 생성하여 시스템의 기밀성, 무결성, 가용성에 영향을 미칠 수 있습니다.
💡 쉬운 설명
인증 확인 과정에서 발생하는 시간차를 이용해, 한 번만 써야 하는 인증 키를 여러 번 동시에 사용하는 공격입니다. 이를 통해 공격자는 다른 사용자의 신분으로 시스템에 접속하여 권한을 탈취할 수 있습니다.
🇺🇸 원문 (English)
Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. Prior to 1.6.6 and from 1.7.0 until 1.7.3, SAML.getSession in internal/pkg/auth/interceptor/saml.go checks SAMLAssertion.Used and marks it used in separate state operations. Concurrent requests carrying the same captured saml-session token can each observe the assertion as unused and obtain authentication as the victim before either update is visible. The attacker can invoke SAML-protected gRPC endpoints, use ConfirmPublicKey to create multiple persistent credentials tied to the victim, and generate audit entries attributed to the victim, with the resulting access potentially affecting confidentiality, integrity, and availability according to the victim's privileges. This issue is fixed in versions 1.6.6 and 1.7.3.
📍 영향받는 시스템
Omni 1.6.6 미만 버전 및 1.7.0부터 1.7.3 사이의 버전
⚔️ 공격 벡터
동일한 SAML 세션 토큰을 포함한 다수의 gRPC 요청을 동시에 전송하는 레이스 컨디션 공격
🛡️ 대응 방법
Omni를 1.6.6 또는 1.7.3 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 1.6.6 또는 1.7.3 이상의 버전이 출력되지 않으면 취약한 버전일 가능성이 높습니다.
omni --version 2>/dev/null | grep -E '1.6.6|1.7.3'