🇰🇷 한글 설명
MongoDB C# 드라이버가 GeoJSON의 추가 멤버를 작성할 때 'type'이나 'coordinates'와 같은 예약된 필드명과의 충돌 여부를 확인하지 않는 취약점입니다. 사용자가 입력한 필드명이 예약어와 겹칠 경우 중복된 기하학적 필드가 저장되어 서버와 드라이버 간의 데이터 불일치가 발생하거나 데이터 읽기가 불가능해질 수 있습니다.
💡 쉬운 설명
데이터를 저장할 때 이름이 겹치는 중요한 항목이 있는지 확인하지 않아 발생하는 문제입니다. 이로 인해 데이터가 서로 다르게 보이거나 아예 읽을 수 없는 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
The MongoDB C# Driver writes GeoJSON extra members without checking whether their names collide with reserved GeoJSON members such as type and coordinates. An application that places user-supplied field names into these extra members can store documents with duplicate geometry fields, so the server and the driver resolve different values for the same record. Affected records can also become unreadable through the driver, interrupting application code that reads them.
📍 영향받는 시스템
MongoDB C# Driver (GeoJSON 관련 기능 사용 시)
⚔️ 공격 벡터
사용자로부터 입력받은 필드명을 검증 없이 GeoJSON의 추가 멤버로 삽입하여 중복 필드 생성
🛡️ 대응 방법
MongoDB C# Driver를 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 MongoDB.Driver의 버전을 확인하여 취약점이 해결된 최신 버전인지 대조
dotnet list package | grep MongoDB.Driver