🇰🇷 한글 설명
Node.js에서 인증서의 Subject Alternative Name(SAN) 유형을 검증할 때 URI 타입을 부적절하게 허용하여 이름 제약 조건이 있는 중간 인증서를 우회할 수 있는 취약점입니다. 이로 인해 인증서의 호스트네임 검증 과정에서 보안 결함이 발생할 수 있습니다.
💡 쉬운 설명
인증서가 진짜인지 확인하는 과정에서 공격자가 가짜 주소를 사용해 보안 검사를 통과할 수 있는 문제입니다. 이로 인해 안전하지 않은 연결이 허용될 위험이 있습니다.
🇺🇸 원문 (English)
Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
📍 영향받는 시스템
Node.js < 12.22.9, < 14.18.3, < 16.13.2, < 17.3.1
⚔️ 공격 벡터
조작된 URI SAN 유형을 포함한 인증서를 사용하여 호스트네임 검증 및 이름 제약 조건을 우회함
🛡️ 대응 방법
Node.js를 최신 보안 패치가 적용된 버전으로 업데이트함
🔧 검증 코드
출력된 버전이 취약점이 해결된 버전(12.22.9, 14.18.3, 16.13.2, 17.3.1 이상)인지 확인