🔍 CVE-2026-118781

2.9
CVSS Score
LOW
2026-10-29
2026-10-30 17:18
✅ 완료

🇰🇷 한글 설명

Forge(node-forge)는 JavaScript로 구현된 TLS 라이브러리입니다. 1.4.1 이전 버전에서는 번들된 jsbn 구현의 BigInteger.prototype.modInverse()가 음수 값이나 모듈러스를 입력받으면 무한 루프에 빠집니다. 공격자가 키 생성 시 RSA 공개 지수를 제어하거나 modInverse()의 피연산자를 직접 전달할 수 있으면 Node.js 이벤트 루프를 100% CPU로 차단할 수 있습니다. DER, PEM, JWK, PKCS#12, X.509, TLS 등 파싱된 값은 이 문제를 일으키지 않습니다.

💡 쉬운 설명

node-forge라는 보안 라이브러리에 특정 계산 오류가 있어, 악의적인 입력을 받으면 서버가 멈출 수 있습니다. 1.4.1 이상 버전으로 업데이트하면 해결됩니다.

🇺🇸 원문 (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 BigInteger.prototype.modInverse(), bnModInverse(), lib/jsbn.js, RSA public exponent e to process the relevant input or security decision. node-forge's bundled jsbn implementation entered an infinite loop when BigInteger.prototype.modInverse() received a negative value or modulus. An attacker who could control the RSA public exponent passed to key generation, or a direct modInverse() operand, could block the Node.js event loop at full CPU. Parsed DER, PEM, JWK, PKCS#12, X.509, and TLS values are unsigned and cannot trigger this issue. This issue is fixed in version 1.4.1.

📍 영향받는 시스템

node-forge 1.4.1 미만 버전을 사용하는 Node.js 애플리케이션

⚔️ 공격 벡터

RSA 키 생성 시 공격자가 공개 지수를 조작하거나 modInverse() 입력값을 직접 제공하여 이벤트 루프를 무한 루프로 차단(DoS)

🛡️ 대응 방법

node-forge를 1.4.1 이상 버전으로 업데이트 (npm update node-forge 또는 npm install node-forge@^1.4.1)

🔧 검증 코드

출력된 node-forge 버전이 1.4.1 미만이면 취약하며, 1.4.1 이상이면 패치된 상태입니다.

Shell / Script
npm ls node-forge 2>/dev/null | grep -E 'node-forge@'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js