## GitPython Remote.pull() refspec bypasses the --upload-pack unsafe-option guard, enabling arbitrary command execution

- 種別: advisory
- 重大度: high
- 関連技術: python
- 公開日時: 2026-10-27T15:26:50.000Z
- 情報源: GitHub Advisory Database (https://github.com/advisories/GHSA-f9j4-qggq-h239)
- パーマリンク: https://vulnpulse.app/items/ghsa-ghsa-f9j4-qggq-h239

影響: pip:GitPython >= 3.1.30, < 3.2.0 → 3.2.0
Remote.pull() in GitPython forwards its positional refspec argument directly to the git pull child process while its unsafe-option guard inspects only keyword arguments. An application that passes attacker-influenced data as the refspec (for example a user-supplied branch or refspec parameter in a web or CI service) can supply an option-shaped value such as --upload-pack= . The value bypasses the unsafe_git_pull_options check, is placed after the -- separator on the git pull command line, and i…