🇰🇷 한글 설명
Elide 7.1.17 버전의 SortingImpl.getValidSortingRules에서 클라이언트가 제공한 정렬 식에 대한 @ReadPermission 검증이 누락되었습니다. 공격자는 이를 통해 금지된 필드로 컬렉션을 정렬할 수 있으며, JSON:API 및 GraphQL 경로를 통해 행 순서 분석으로 숨겨진 필드 값을 추론하여 데이터를 유출할 수 있습니다.
💡 쉬운 설명
데이터를 정렬할 때 권한이 없는 정보까지 정렬 기준으로 사용할 수 있는 보안 결함입니다. 정렬된 순서를 분석하면 원래는 볼 수 없어야 할 민감한 정보의 값을 간접적으로 알아낼 수 있습니다.
🇺🇸 원문 (English)
Elide through 7.1.17 fails to enforce @ReadPermission on client-supplied sort expressions in SortingImpl.getValidSortingRules, allowing attackers to sort collections by forbidden fields. Attackers can infer hidden field values through row ordering analysis, leaking relative field ordering across all rows via both JSON:API and GraphQL read paths.
📍 영향받는 시스템
Elide 7.1.17 이하 버전
⚔️ 공격 벡터
JSON:API 또는 GraphQL 요청 시 권한이 없는 필드를 정렬 조건(sort expression)에 포함하여 전송
🛡️ 대응 방법
Elide를 최신 보안 패치가 적용된 버전으로 업데이트하거나 정렬 규칙에 대한 권한 검증 로직을 강화해야 합니다.
🔧 검증 코드
해당 메서드가 포함된 소스 코드를 확인하고, 정렬 요청 시 @ReadPermission 검증 로직이 구현되어 있는지 검토합니다.
grep -r "SortingImpl.getValidSortingRules" .