🇰🇷 한글 설명
node-opcua-client 2.145.0 미만 버전에서 발생하는 프로토타입 오염 취약점입니다. 내부 fieldsToJson 메서드가 검증되지 않은 필드 이름을 직접 할당하여 __proto__ 경로를 통한 Object.prototype 수정을 허용합니다. 공격자가 제어 가능한 이벤트 필드가 노출될 경우 서비스 거부(DoS) 또는 애플리케이션 로직 변조가 발생할 수 있습니다.
💡 쉬운 설명
프로그램의 기본 설계도를 몰래 수정할 수 있는 취약점입니다. 공격자가 특수한 데이터를 보내면 프로그램의 동작 방식을 바꾸거나 강제로 종료시킬 수 있습니다.
🇺🇸 원문 (English)
node-opcua is an OPC UA implementation for TypeScript and Node.js. Prior to node-opcua-client 2.145.0, the internal fieldsToJson method in packages/node-opcua-client/source/alarms_and_conditions/client_alarm.ts directly assigns unsanitized field names and allows a __proto__.pollutedKey path to modify Object.prototype. Successful exploitation requires an application to expose attacker-controlled event fields to fieldsToJson and may cause denial of service or application logic corruption. This vulnerability is fixed in 2.145.0.
📍 영향받는 시스템
node-opcua-client 2.145.0 미만 버전
⚔️ 공격 벡터
공격자가 제어하는 이벤트 필드 값을 통해 __proto__ 경로를 이용한 프로토타입 오염 시도
🛡️ 대응 방법
node-opcua-client를 2.145.0 이상의 버전으로 업데이트
🔧 검증 코드
출력된 버전이 2.145.0 미만인지 확인하여 취약 여부를 판단합니다.
npm list node-opcua-client