🔍 CVE-2026-120567

5.4
CVSS Score
MEDIUM
2026-11-03
2026-11-04 17:17
✅ 완료

🇰🇷 한글 설명

MongoDB Entity Framework Core 공급자는 ExecuteUpdate 호출에 업데이트 대상 엔티티를 읽는 setter가 함께 포함된 경우 SetProperty에 전달되는 값의 특수 요소를 무력화하지 않습니다. 이 경우 업데이트는 집계 파이프라인으로 전송되며, $로 시작하는 호출자 제공 문자열이 데이터가 아닌 표현식으로 평가됩니다. 이러한 값에 영향을 줄 수 있는 주체는 업데이트 대상 레코드의 필드를 수정하거나 삭제하고, 같은 레코드의 다른 필드를 복사해 넣을 수 있습니다.

💡 쉬운 설명

데이터베이스 업데이트 과정에서 사용자가 입력한 값이 단순 글자가 아니라 명령어처럼 해석될 수 있는 문제입니다. 공격자가 이를 악용하면 다른 사람의 데이터 일부를 바꾸거나 지울 수 있습니다.

🇺🇸 원문 (English)

The MongoDB Entity Framework Core provider does not neutralize special elements in values passed to SetProperty when an ExecuteUpdate call also contains a setter that reads the entity being updated. In that case the update is sent as an aggregation pipeline, and a caller-supplied string beginning with $ is evaluated as an expression rather than stored as data. A party who can influence such a value may modify or remove fields in the records being updated, or copy other fields of the same record into them.

📍 영향받는 시스템

MongoDB Entity Framework Core 공급자를 사용하는 .NET 애플리케이션(해당 버전 상세 정보는 공식 권고 확인 필요)

⚔️ 공격 벡터

공격자가 $로 시작하는 문자열을 업데이트 값으로 전달해 집계 표현식으로 실행되도록 조작

🛡️ 대응 방법

MongoDB EF Core 공급자를 공식 패치된 최신 버전으로 업데이트하고, 사용자 입력 값을 신뢰하지 않도록 검증

🔧 검증 코드

출력된 MongoDB EF Core 패키지 버전이 패치된 버전보다 낮으면 취약하며, 공식 권고의 수정 버전과 비교해 판단

Shell / Script
dotnet list package | grep -i mongodb

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N