🇰🇷 한글 설명
MongoDB Python 드라이버의 클라이언트 측 필드 수준 암호화 기능에서 키 관리 엔드포인트 값이 '.sock'으로 끝나면 이를 원격 호스트가 아닌 로컬 유닉스 도메인 소켓 경로로 오인하는 취약점이 있습니다. 데이터베이스에 저장된 암호화 키 메타데이터에 쓰기 권한이 있는 사용자는 애플리케이션이 호스트의 로컬 소켓에 연결하도록 유도할 수 있습니다. 다만, 전송되는 데이터는 TLS 핸드셰이크 시작 부분으로 제한되어 임의의 콘텐츠가 전송되지는 않습니다.
💡 쉬운 설명
공격자가 데이터베이스 설정을 조작하여 프로그램이 서버가 아닌 컴퓨터 내부의 특정 통로(소켓)로 연결을 시도하게 만들 수 있습니다. 이 과정에서 데이터가 유출될 위험은 낮지만, 프로그램의 연결 동작을 의도치 않게 변경할 수 있습니다.
🇺🇸 원문 (English)
The client-side field level encryption support in the MongoDB Python Driver can treat a key management endpoint value ending in ".sock" as a local Unix domain socket path rather than a remote host. A user with write access to the encryption key metadata stored in the database can cause an application using the driver to open connections to local sockets on the application host. Data sent over these connections is limited to the start of a TLS handshake, so no chosen content is transmitted.
📍 영향받는 시스템
MongoDB Python Driver (PyMongo) - 클라이언트 측 필드 수준 암호화 기능을 사용하는 버전
⚔️ 공격 벡터
데이터베이스 내 암호화 키 메타데이터에 '.sock'으로 끝나는 엔드포인트 값을 삽입하여 로컬 소켓 연결 유도
🛡️ 대응 방법
MongoDB Python 드라이버를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 PyMongo 버전을 확인하여 해당 취약점이 해결된 최신 버전인지 확인하십시오.
pip show pymongo | grep Version