🔍 CVE-2024-37904

5.7
CVSS Score
MEDIUM
2024-06-18
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

Minder의 Git 제공자가 go-git 라이브러리를 사용하여 저장소를 메모리 제한 없이 복제하기 때문에, 악의적으로 구성된 대용량 GitHub 저장소가 메모리를 소진시켜 서버 충돌을 야기할 수 있습니다. 사용자가 제어하는 Git URL과 부재한 크기 제한이 결합되어 DoS 공격에 취약합니다.

💡 쉬운 설명

Minder가 분석할 코드 저장소를 누군가 악의적으로 매우 크게 만들면, Minder 서버의 메모리를 모두 사용해서 서버가 다운될 수 있습니다. 마치 작은 상자에 무한정 물건을 밀어 넣으려는 것처럼요.

🇺🇸 원문 (English)

Minder is an open source Software Supply Chain Security Platform. Minder's Git provider is vulnerable to a denial of service from a maliciously configured GitHub repository. The Git provider clones users repositories using the `github.com/go-git/go-git/v5` library on lines `L55-L89`. The Git provider does the following on the lines `L56-L62`. First, it sets the `CloneOptions`, specifying the url, the depth etc. It then validates the options. It then sets up an in-memory filesystem, to which it clones and Finally, it clones the repository. The `(g *Git) Clone()` method is vulnerable to a DoS attack: A Minder user can instruct Minder to clone a large repository which will exhaust memory and crash the Minder server. The root cause of this vulnerability is a combination of the following conditions: 1. Users can control the Git URL which Minder clones, 2. Minder does not enforce a size limit to the repository, 3. Minder clones the entire repository into memory. This issue has been addressed in commit `7979b43` which has been included in release version v0.0.52. Users are advised to upgrade. There are no known workarounds for this vulnerability.

📍 영향받는 시스템

Minder v0.0.51 이하 (v0.0.52부터 패치됨)

⚔️ 공격 벡터

악의적으로 구성된 대용량 GitHub 저장소 URL을 Minder에 제공하여 메모리 소진 유발

🛡️ 대응 방법

Minder를 v0.0.52 이상으로 업그레이드

🔧 검증 코드

Minder 버전의 패치 번호(세 번째 숫자)가 52 이상이면 'patched', 그 이하면 'vulnerable'이 출력됩니다.

Shell / Script
minder --version 2>/dev/null | grep -oP 'v0\.0\.\K\d+' | awk '{if($1>=52) print "patched"; else print "vulnerable"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git