🇰🇷 한글 설명
Node.js 18의 WebCrypto 키 생성 과정에서 EntropySource() 함수의 반환 값을 확인하지 않고 성공을 가정하는 취약점이 발견되었습니다. 이로 인해 생성된 난수가 암호학적으로 충분히 강력하지 않아 보안 키로서의 역할을 수행하지 못할 수 있습니다.
💡 쉬운 설명
암호 키를 만들 때 필요한 '무작위 숫자'가 충분히 복잡하지 않아서 해커가 예측하기 쉬운 상태가 되는 문제입니다. 이로 인해 암호화된 데이터가 쉽게 뚫릴 위험이 있습니다.
🇺🇸 원문 (English)
A weak randomness in WebCrypto keygen vulnerability exists in Node.js 18 due to a change with EntropySource() in SecretKeyGenTraits::DoKeyGen() in src/crypto/crypto_keygen.cc. There are two problems with this: 1) It does not check the return value, it assumes EntropySource() always succeeds, but it can (and sometimes will) fail. 2) The random data returned byEntropySource() may not be cryptographically strong and therefore not suitable as keying material.
📍 영향받는 시스템
Node.js 18 버전 (EntropySource() 관련 수정 전 버전)
⚔️ 공격 벡터
예측 가능한 난수를 이용한 암호 키 추측 및 탈취
🛡️ 대응 방법
Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 18.x 버전인지 확인하고, 최신 패치 버전인지 공식 보안 공지를 통해 대조하십시오.
node -v | grep -E '^v18\.'