🇰🇷 한글 설명
libuv의 realpath 구현 방식에서 버퍼 크기를 잘못 계산하는 취약점이 발견되었습니다. 이로 인해 경로의 길이가 256바이트를 초과할 경우 버퍼 오버플로우가 발생할 수 있습니다.
💡 쉬운 설명
파일 경로를 처리하는 과정에서 메모리 공간을 충분히 확보하지 못하는 오류가 있습니다. 아주 긴 파일 이름을 사용하면 프로그램이 오작동하거나 해킹 공격에 노출될 수 있습니다.
🇺🇸 원문 (English)
The implementation of realpath in libuv < 10.22.1, < 12.18.4, and < 14.9.0 used within Node.js incorrectly determined the buffer size which can result in a buffer overflow if the resolved path is longer than 256 bytes.
📍 영향받는 시스템
libuv < 10.22.1, < 12.18.4, < 14.9.0 (Node.js에서 사용됨)
⚔️ 공격 벡터
256바이트를 초과하는 매우 긴 파일 경로를 입력하여 메모리 영역을 침범함
🛡️ 대응 방법
libuv를 최신 버전(10.22.1, 12.18.4, 14.9.0 이상)으로 업데이트하거나 Node.js를 최신 보안 패치 버전으로 업데이트함
🔧 검증 코드
출력된 libuv의 버전이 취약점이 해결된 버전보다 낮은지 확인합니다.
npm list libuv || pkg-config --modversion libuv 2>/dev/null