🔍 CVE-2026-63476

4.3
CVSS Score
MEDIUM
2026-11-03
2026-11-03 20:18
✅ 완료

🇰🇷 한글 설명

isomorphic-git은 Node.js와 브라우저용 순수 JavaScript Git 구현체입니다. 1.38.6 이전 버전에서는 packfile delta 적용 시 서버가 제공한 targetSize를 검증 없이 Buffer.alloc에 전달하여, git.clone() 또는 git.fetch() 호출 시 약 2GB 메모리가 할당될 수 있습니다. 이 문제는 1.38.6 버전에서 수정되었습니다.

💡 쉬운 설명

Git 저장소를 가져올 때 악의적인 서버가 아주 큰 메모리 할당을 유도할 수 있는 문제입니다. 메모리가 부족한 환경에서는 프로그램이 강제 종료되거나 서비스가 중단될 수 있습니다.

🇺🇸 원문 (English)

isomorphic-git is a pure JavaScript implementation of Git for Node.js and browsers. Prior to 1.38.6, isomorphic-git reads a server-controlled targetSize while applying a packfile delta in src/utils/applyDelta.js and passes it without a bound to Buffer.alloc(targetSize). A malicious or man-in-the-middle-controlled remote can send one delta header that causes git.clone() or git.fetch() to allocate approximately 2 GB before validating the actual delta output. GitPackIndex.fromPack swallows the later size-mismatch error, so a host with sufficient memory may retain the resource waste without a visible failure, while containers, serverless functions, and small virtual machines may terminate. Node.js heap limits do not mitigate the off-heap Buffer allocation. This issue is fixed in version 1.38.6.

📍 영향받는 시스템

isomorphic-git 1.38.6 미만 버전을 사용하는 Node.js 및 브라우저 기반 애플리케이션

⚔️ 공격 벡터

악의적이거나 중간자 공격으로 변조된 원격 Git 서버가 조작된 delta 헤더를 전송하여 클라이언트의 과도한 메모리 할당을 유발

🛡️ 대응 방법

isomorphic-git을 1.38.6 이상 버전으로 업그레이드

🔧 검증 코드

출력된 버전이 1.38.6 미만이면 취약하며, 1.38.6 이상이면 패치된 버전입니다.

Shell / Script
npm ls isomorphic-git 2>/dev/null | grep isomorphic-git

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L

💻 영향받는 소프트웨어

Git