🇰🇷 한글 설명
Mongoid이 사용자로부터 입력받은 필터 데이터를 쿼리 빌딩 메서드에 전달할 때 사용 가능한 쿼리 연산자를 제한하지 않는 취약점입니다. 인증되지 않은 공격자가 쿼리 평가 방식을 조작하여 저장된 필드 값을 의도치 않게 노출하거나 데이터베이스 성능을 저하시킬 수 있습니다.
💡 쉬운 설명
사용자가 입력한 검색 조건이 검증 없이 데이터베이스 명령어로 바로 사용되는 문제입니다. 이를 통해 해커가 몰래 데이터를 훔쳐보거나 시스템을 느리게 만들 수 있습니다.
🇺🇸 원문 (English)
Mongoid does not restrict which query operators may come from caller-supplied filter data when an application hands that data to its query-building methods. In an application that forwards externally supplied filter parameters in this way, a party with no credentials may influence how the database evaluates the query. This may result in unintended disclosure of stored field values and in reduced database performance.
📍 영향받는 시스템
Mongoid 라이브러리를 사용하는 Ruby on Rails 애플리케이션
⚔️ 공격 벡터
외부에서 조작된 쿼리 연산자가 포함된 필터 파라미터를 API 또는 웹 폼을 통해 전송
🛡️ 대응 방법
사용자 입력 데이터에 대해 허용된 쿼리 연산자만 사용하도록 화이트리스트 기반의 필터링을 적용하거나 Mongoid을 최신 보안 패치 버전으로 업데이트
🔧 검증 코드
출력된 mongoid의 버전을 확인하여 해당 취약점이 해결된 보안 패치 버전인지 대조