🇰🇷 한글 설명
MongoDB Atlas SQL ODBC 드라이버의 메모리 처리 결함으로, 쿼리 결과값이 호출 애플리케이션이 제공한 버퍼 범위를 벗어나 기록될 수 있습니다. 쿼리 결과에 영향을 줄 수 있는 공격자는 클라이언트 메모리의 의도치 않은 위치에 데이터를 배치하여 메모리 변조나 클라이언트 프로세스 종료를 유발할 수 있으며, 이 조건은 애플리케이션이 여러 결과 행을 한 번에 요청하는 특정 방식에 의존합니다.
💡 쉬운 설명
데이터베이스에서 받은 결과가 프로그램이 준비한 메모리 공간을 넘어서 저장될 수 있는 취약점입니다. 공격자가 조작된 데이터를 통해 이를 악용하면 프로그램이 비정상 종료되거나 메모리 내용이 변조될 수 있습니다.
🇺🇸 원문 (English)
A memory-handling flaw in the MongoDB Atlas SQL ODBC Driver can cause values returned for a query to be written outside the bounds of a buffer provided by the calling application. A party able to influence the values a query returns may cause data to be placed at an unintended location in the client application's memory, which may result in unintended modification of that memory or termination of the client process. Reaching this condition depends on a specific, application-chosen way of requesting several result rows at once.
📍 영향받는 시스템
MongoDB Atlas SQL ODBC Driver (해당 취약 버전, 여러 행 일괄 조회를 사용하는 애플리케이션)
⚔️ 공격 벡터
쿼리 결과 값에 영향을 줄 수 있는 공격자가 조작된 데이터를 반환하게 하여 클라이언트 메모리 버퍼 범위를 넘어선 쓰기를 유도
🛡️ 대응 방법
MongoDB Atlas SQL ODBC Driver를 공식 패치된 최신 버전으로 업데이트
🔧 검증 코드
설치된 MongoDB ODBC 드라이버 파일 경로를 확인하고, 해당 드라이버의 버전을 공식 보안 공지의 패치 버전과 비교하여 취약 여부를 판단합니다 (경로가 출력되지 않으면 드라이버 미설치).
odbcinst -j 2>/dev/null; find / -name '*mongodb*odbc*' 2>/dev/null | head -20