🇰🇷 한글 설명
Ory Kratos의 ListCourierMessages Admin API에서 페이지네이션 구현 결함으로 인해 SQL 인젝션 취약점이 발견되었습니다. 페이지네이션 토큰 암호화에 사용되는 비밀값이 설정되지 않으면 기본값이 사용되는데, 이 값이 공개되어 있어 공격자가 악성 토큰을 생성하여 데이터베이스를 공격할 수 있습니다.
💡 쉬운 설명
데이터를 나누어 보여주는 기능(페이지네이션)의 암호 키가 너무 쉬워서, 해커가 가짜 암호 키를 만들어 데이터베이스를 조작할 수 있는 문제입니다. 암호 키를 복잡하게 바꾸거나 프로그램을 최신 버전으로 업데이트해야 합니다.
🇺🇸 원문 (English)
Ory Kratos is an identity, user management and authentication system for cloud services. Prior to version 26.2.0, the ListCourierMessages Admin API in Ory Kratos is vulnerable to SQL injection due to flaws in its pagination implementation. Pagination tokens are encrypted using the secret configured in `secrets.pagination`. An attacker who knows this secret can craft their own tokens, including malicious tokens that lead to SQL injection. If this configuration value is not set, Kratos falls back to a default pagination encryption secret. Because this default value is publicly known, attackers can generate valid and malicious pagination tokens manually for installations where this secret is not set. As a first line of defense, immediately configure a custom value for `secrets.pagination` by generating a cryptographically secure random secret. Next, upgrade Kratos** to a fixed version, 26.2.0 or later, as soon as possible.
📍 영향받는 시스템
Ory Kratos 26.2.0 미만 버전
⚔️ 공격 벡터
공개된 기본 페이지네이션 암호화 비밀값을 이용해 조작된 SQL 인젝션 페이로드가 포함된 토큰을 생성하여 API 호출
🛡️ 대응 방법
Ory Kratos를 26.2.0 이상 버전으로 업그레이드하고, secrets.pagination에 강력한 무작위 비밀값을 설정하십시오.
🔧 검증 코드
명령어 실행 결과에 26.2.0 이상의 버전 정보가 출력되면 취약점이 해결된 상태입니다.
ory version 2>/dev/null | grep -E '26.2.0|higher'