🔍 CVE-2026-118776

3.7
CVSS Score
LOW
2026-10-29
2026-11-04 02:17
✅ 완료

🇰🇷 한글 설명

Forge(node-forge)는 JavaScript로 구현된 TLS 라이브러리입니다. 1.4.1 이전 버전은 CBC 및 ECB 모드에서 PKCS#7 패딩의 마지막 바이트만 검증하여, 0이거나 크기가 초과되거나 불일치하는 패딩을 허용합니다. 이로 인해 잘못된 암호문이 수락되고 최대 4개의 평문 블록이 조용히 제거되어, 복호화 성공을 패딩 유효성의 증거로 간주하는 애플리케이션에서 무결성 실패가 발생할 수 있습니다.

💡 쉬운 설명

이 라이브러리는 암호화된 데이터의 잘못된 형식을 제대로 검사하지 않습니다. 그 결과 변조되거나 손상된 데이터가 정상으로 처리되어 일부 내용이 몰래 사라질 수 있습니다.

🇺🇸 원문 (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 decipher.finish(), CBC and ECB modes, PKCS#7 padding to process the relevant input or security decision. node-forge validated only the final byte of PKCS#7 padding during CBC and ECB decryption and accepted zero, oversized, or mismatched padding bytes. Malformed ciphertext could consequently be accepted and up to four plaintext blocks could be silently removed, causing an integrity failure in applications that treated successful decryption as proof of valid padding. This issue is fixed in version 1.4.1.

📍 영향받는 시스템

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

⚔️ 공격 벡터

공격자가 CBC/ECB 모드로 암호화된 메시지의 암호문을 조작하여 잘못된 패딩을 주입하면, 복호화 과정에서 평문 블록이 제거되어 무결성 검증을 우회할 수 있습니다.

🛡️ 대응 방법

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

💻 영향받는 소프트웨어

Oracle Java SE