🇰🇷 한글 설명
ced v0.1.0 버전에서 Google의 compact_enc_det 라이브러리를 사용하여 문자 인코딩을 감지할 때, Buffer 이외의 데이터 타입을 전달하면 Node.js 프로세스가 충돌하는 취약점이 존재합니다. 이 문제는 ced v1.0.0에서 패치되었습니다.
💡 쉬운 설명
프로그램이 예상치 못한 형태의 데이터를 받았을 때 갑자기 멈춰버리는 오류가 있습니다. 공격자가 이 점을 이용해 서비스를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
ced detects character encoding using Google’s compact_enc_det library. In ced v0.1.0, passing data types other than `Buffer` causes the Node.js process to crash. The problem has been patched in ced v1.0.0. As a workaround, before passing an argument to ced, verify it’s a `Buffer` using `Buffer.isBuffer(obj)`.
⚔️ 공격 벡터
Buffer 형식이 아닌 잘못된 데이터 타입을 ced 함수에 전달하여 프로세스 충돌 유도
🛡️ 대응 방법
ced 라이브러리를 v1.0.0 이상으로 업데이트하거나, 입력값이 Buffer인지 Buffer.isBuffer()로 확인하는 로직 추가
🔧 검증 코드
출력된 결과에서 ced의 버전이 0.1.0인지 확인합니다.