🇰🇷 한글 설명
Hasura의 특정 버전에서 테이블 계산 필드(computed field)에 where 절을 사용할 때 발생하는 보안 취약점입니다. 공격자는 행 수준 권한(RLS)에 의해 필터링되어야 할 데이터를 직접 가져올 수는 없지만, where 절을 오라클(Oracle)처럼 활용하여 데이터 값을 추론할 수 있습니다.
💡 쉬운 설명
데이터를 볼 권한이 없는 사용자가 질문을 던지는 방식으로 데이터의 내용을 알아낼 수 있는 문제입니다. 마치 '이 글자의 첫 글자가 A인가요?'라고 계속 물어보며 정답을 맞히는 것과 같습니다.
🇺🇸 원문 (English)
Hasura is an open-source product that provides users GraphQL or REST APIs. Prior to 2.49.2 and 2.45.5, a user can use a where clause on a table computed field (returning SETOF some_table) to infer row values that ought to be filtered for their role based on some_table's row-level permissions. While such rows cannot be returned directly, like predicates on strings for instance allow values to be brute forced efficiently with the where clause as an oracle. This issue is fixed in versions 2.49.2 and 2.45.5.
📍 영향받는 시스템
Hasura versions prior to 2.49.2 and 2.45.5
⚔️ 공격 벡터
계산 필드에 where 절을 사용하여 조건부 참/거짓을 확인하는 사이드 채널 공격
🛡️ 대응 방법
Hasura를 2.49.2 또는 2.45.5 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
Hasura API 또는 CLI를 통해 현재 설치된 버전을 확인하여 2.49.2 또는 2.45.5 미만인지 확인합니다.
curl -s http://<hasura-endpoint>/v1/queries | grep -E 'version' || echo 'Check Hasura version via CLI or API'