🔍 CVE-2026-3515

8.5
CVSS Score
HIGH
2026-05-24
2026-07-23 17:10
✅ 완료

🇰🇷 한글 설명

Prefect 3.6.18의 prefect-github 통합에서 `reference` 필드가 git clone 명령어에 직접 연결되어 git 옵션 인젝션 가능. `-c` 옵션 등으로 SSRF, 자격증명 탈취, RCE 공격 가능.

💡 쉬운 설명

GitHub 저장소를 복제할 때 입력값이 제대로 검증되지 않아 공격자가 악의적인 명령어 삽입 가능. 서버의 민감한 정보 접근이나 코드 실행을 통한 완전한 시스템 제어 가능.

🇺🇸 원문 (English)

A vulnerability in the `GitHubRepository` block of the `prefect-github` integration in Prefect version 3.6.18 allows an attacker to inject arbitrary git command-line options via the `reference` field. The `reference` field is concatenated directly into a `git clone` command string without proper sanitization, and then parsed by `shlex.split()`. This enables injection of options such as `-c`, leading to potential Server-Side Request Forgery (SSRF), credential theft, or remote code execution (RCE). The vulnerability affects both the `aget_directory()` and `get_directory()` methods in `src/integrations/prefect-github/prefect_github/repository.py`. This issue does not affect the GitLab and BitBucket integrations, which use a safer list-based command construction approach.

📍 영향받는 시스템

Prefect version 3.6.18의 prefect-github 통합 (src/integrations/prefect-github/prefect_github/repository.py의 aget_directory(), get_directory() 메서드)

⚔️ 공격 벡터

reference 필드에 git 옵션 인젝션 (예: `-c core.sshCommand` 등)으로 SSRF/RCE/자격증명 탈취 수행

🛡️ 대응 방법

Prefect를 취약점 패치 버전으로 업그레이드 (GitLab/BitBucket처럼 안전한 리스트 기반 명령어 구성 방식 적용)

🔧 검증 코드

설치된 prefect-github의 버전이 3.6.18보다 높은지 확인하여 패치 적용 여부 판단 (3.6.19 이상이면 안전)

Shell / Script
pip list | grep -i prefect-github && python -c "import prefect_github; print(getattr(prefect_github, '__version__', 'unknown'))" 2>/dev/null || echo 'not installed'

📊 CVSS Vector String

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N

💻 영향받는 소프트웨어

Git