CVE-2026-3515
HighCVSS 8.5Exploitation Probability (EPSS)
Low risk22th percentile - higher than 22% of all known CVEs
Summary
In Prefect version 3.6.18, the prefect-github integration injects the reference field into a git clone command without sanitization, allowing injection of git options. This can lead to SSRF, credential theft, or RCE.
Risk Assessment
An attacker can access internal resources, steal credentials, or execute arbitrary code on the server.
Recommendation
Update Prefect to a patched version or sanitize the reference field.
Other vulnerabilities in Prefect
See all- CVE-2026-72538High
An argument injection vulnerability in PrefectHQ Prefect through 3.8.2 allows authenticated users to achieve remote code execution via the git_clone pull step branch field. The branch parameter is passed directly to git pull without sanitization, enabling injection of arbitrary git arguments. This represents a distinct code path from the incomplete fix applied for CVE-2026-5366 and allows command execution on the Prefect server.
- CVE-2026-5366Critical
Prefect version 3.6.23 is vulnerable to remote code execution due to improper handling of user-controlled input in the `GitRepository` storage class. The `commit_sha` parameter lacks validation and does not include a `--` separator, allowing injection of arbitrary git flags like `--upload-pack` to execute external programs. The `directories` parameter can also be exploited to inject git flags during sparse-checkout operations.
Original NVD description (English source)
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.

