🇰🇷 한글 설명
Node.js의 특정 버전에서 다중 값 상대 식별 이름(Relative Distinguished Names)을 올바르게 처리하지 못하는 취약점이 발견되었습니다. 공격자는 인증서 주체에 조작된 값을 삽입하여 인증서 주체 검증 과정을 우회할 수 있습니다. 이는 Node.js 자체뿐만 아니라 인증서 정보를 사용하는 서드파티 코드에도 영향을 미칠 수 있습니다.
💡 쉬운 설명
인증서에 적힌 이름 정보를 읽는 과정에서 규칙을 잘못 해석하는 오류가 있습니다. 이를 이용해 가짜 이름을 진짜처럼 속여 보안 검사를 통과할 수 있습니다.
🇺🇸 원문 (English)
Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.Affected versions of Node.js that do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
📍 영향받는 시스템
Node.js < 12.22.9, < 14.18.3, < 16.13.2, < 17.3.1
⚔️ 공격 벡터
조작된 인증서 주체(Certificate Subject)를 사용하여 인증서 검증 로직을 우회하는 방식
🛡️ 대응 방법
Node.js를 최신 보안 패치가 적용된 버전(12.22.9, 14.18.3, 16.13.2, 17.3.1 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 취약한 버전 범위(예: 14.18.3 미만)에 해당하는지 확인하십시오.