🔍 CVE-2026-119189

5.9
CVSS Score
MEDIUM
2026-10-29
2026-11-03 17:18
✅ 완료

🇰🇷 한글 설명

Forge(node-forge)는 JavaScript로 구현된 TLS 라이브러리입니다. 1.4.1 이전 버전에서는 X.509 CA 인증서의 basicConstraints.pathLenConstraint가 keyUsage 확장이 함께 있는 경우에만 적용되어, keyUsage가 없는 경로 길이 제한 CA를 통해 선언된 경로 길이를 초과하는 인증서 체인이 검증을 통과할 수 있습니다. 이 문제는 1.4.1 버전에서 수정되었습니다.

💡 쉬운 설명

인증서가 신뢰할 수 있는 체인을 따라 허용된 길이를 넘어서도 검증이 통과될 수 있는 문제입니다. 주로 keyUsage 없이 만든 사설 인증 기관(CA)을 사용하는 환경에서 영향을 받을 수 있습니다.

🇺🇸 원문 (English)

Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge enforced an X.509 CA certificate's basicConstraints.pathLenConstraint only when that certificate also carried a keyUsage extension. Exploitation requires a path-length-constrained CA without keyUsage that chains to a root trusted by the application, and an attacker who holds that CA's private key or obtains a subordinate CA certificate from it. The attacker could then construct a chain exceeding the declared path length that still passed pki.verifyCertificateChain(). Public web PKI CA certificates normally include keyUsage; private PKIs with CA certificates created without it are more likely to be affected. This issue is fixed in version 1.4.1.

📍 영향받는 시스템

node-forge 1.4.1 미만 버전을 사용하는 Node.js 애플리케이션 (특히 사설 PKI 환경)

⚔️ 공격 벡터

경로 길이가 제한된 CA의 개인키나 하위 CA 인증서를 가진 공격자가 허용 길이를 초과하는 인증서 체인을 구성해 pki.verifyCertificateChain() 검증을 통과시킴

🛡️ 대응 방법

node-forge를 1.4.1 이상으로 업데이트 (npm update node-forge 또는 package.json에서 버전 지정 후 재설치)

🔧 검증 코드

출력된 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:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N

💻 영향받는 소프트웨어

Oracle Java SE