🇰🇷 한글 설명
Node.js용 BSON ObjectID 패키지 1.3.0 버전에서 발생하는 취약점입니다. 공격자가 사용자 입력값에 특정 속성을 삽입하여 ObjectID 형식을 우회하고 임의의 객체를 생성할 수 있습니다. 이는 _bsontype 속성을 감지하면 검증을 조기에 종료하는 로직의 결함 때문입니다.
💡 쉬운 설명
데이터의 형식을 검사하는 과정에서 특정 규칙을 가진 가짜 데이터를 넣으면 검사를 그냥 통과해버리는 문제입니다. 이를 통해 공격자는 시스템이 예상하지 못한 잘못된 데이터를 주입할 수 있습니다.
🇺🇸 원문 (English)
An issue was discovered in the BSON ObjectID (aka bson-objectid) package 1.3.0 for Node.js. ObjectID() allows an attacker to generate a malformed objectid by inserting an additional property to the user-input, because bson-objectid will return early if it detects _bsontype==ObjectID in the user-input object. As a result, objects in arbitrary forms can bypass formatting if they have a valid bsontype.
📍 영향받는 시스템
Node.js bson-objectid package version 1.3.0
⚔️ 공격 벡터
사용자 입력값에 '_bsontype==ObjectID' 속성을 포함시켜 데이터 형식 검증 로직을 우회하는 방식
🛡️ 대응 방법
bson-objectid 패키지를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 bson-objectid의 버전이 1.3.0인지 확인하십시오.