🇰🇷 한글 설명
Forge(node-forge)는 JavaScript로 구현된 TLS 라이브러리입니다. 1.4.1 이전 버전의 TLS 클라이언트는 서버 인증서 누락 여부를 판단할 때 잘못된 속성을 확인했습니다. 악의적인 TLS 서버 또는 경로상의 공격자가 Certificate 메시지를 생략하면 존재하지 않는 인증서를 참조하게 되어 처리되지 않은 예외가 발생하고 연결 또는 프로세스가 종료될 수 있습니다.
💡 쉬운 설명
node-forge라는 암호화 통신 라이브러리에서 발생한 결함입니다. 공격자가 서버 인증서 정보를 빼고 응답하면 프로그램이 비정상 종료될 수 있습니다.
🇺🇸 원문 (English)
Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used forge.tls.createConnection(), c.session.serverCertificate, RSA key exchange to process the relevant input or security decision. node-forge's TLS client checked the wrong property when deciding whether a server certificate was missing. A malicious TLS server or on-path peer could omit the Certificate message and reach code that dereferenced the absent certificate, causing an uncaught exception and terminating the connection or process. This issue is fixed in version 1.4.1.
📍 영향받는 시스템
node-forge 1.4.1 미만 버전을 사용하는 Node.js 애플리케이션 및 프로젝트
⚔️ 공격 벡터
악의적인 TLS 서버 또는 네트워크 경로상의 공격자가 Certificate 메시지를 생략한 핸드셰이크 응답을 보내 클라이언트를 크래시시킴
🛡️ 대응 방법
node-forge를 1.4.1 이상으로 업그레이드 (npm update node-forge 또는 npm install [email protected])
🔧 검증 코드
출력된 node-forge 버전이 1.4.1 미만이면 취약하므로 업그레이드가 필요하고, 1.4.1 이상이거나 결과가 없으면 해당 프로젝트에 영향이 없습니다.
npm ls node-forge 2>/dev/null | grep -E 'node-forge@' | head -5
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
Microsoft Exchange Server