Argument Injection in prefecthq/prefect
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.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-88 | CWE-88 Improper Neutralization of Argument Delimiters in a Command |
Type: CWE
Description: CWE-88 Improper Neutralization of Argument Delimiters in a Command
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 3.0 | 8.5 | HIGH | CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N |
Version: 3.0
Base score: 8.5
Base severity: HIGH
Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N