Skip to content

🔒️ [+security] Upgraded dependencies based on uv audit - #70

Merged
davidbrownell merged 1 commit into
mainfrom
uv-audit-20260907-151719
Sep 7, 2026
Merged

davidbrownell merged 1 commit into
mainfrom
uv-audit-20260907-151719

Conversation

@davidbrownell

Copy link
Copy Markdown
Owner

uv audit reported security vulnerabilities in the following packages; uv.lock has been
updated to upgrade them.

Package    From    To      Advisories
---------  ------  ------  ------------------------------------------------------------------
gitpython  3.1.58  3.1.62  PYSEC-2026-3785, PYSEC-2026-3786, PYSEC-2026-3787, PYSEC-2026-3788

Advisories

  • PYSEC-2026-3785 (gitpython 3.1.58, fixed in 3.1.59): GitPython before 3.1.59 fails to disable merge_includes when parsing .gitmodules, allowing attackers to disclose local file content by including arbitrary file paths via [include] directives. Attackers can craft a malicious .gitmodules file with include directives pointing to sensitive files; when repo.submodules is accessed, GitConfigParser raises MissingSectionHeaderError embedding the target file's first line verbatim in the exception message. details
  • PYSEC-2026-3786 (gitpython 3.1.58, fixed in 3.1.59): GitPython before 3.1.59 fails to safely re-serialize multi-line git-config values during write operations, corrupting dormant quoted values into injected directives like core.hooksPath. Attackers can craft config files with embedded newlines that become live git directives after any unrelated GitPython config write, enabling arbitrary code execution via hook invocation. details
  • PYSEC-2026-3787 (gitpython 3.1.58, fixed in 3.1.59): GitPython before 3.1.59 omits --separate-git-dir from unsafe_git_clone_options, allowing attackers to create arbitrary git directories outside the intended clone destination. Attackers can pass a separate_git_dir parameter to Repo.clone_from() or Repo.clone() to redirect repository metadata to an attacker-controlled filesystem path, enabling arbitrary directory creation and potential hook execution. details
  • PYSEC-2026-3788 (gitpython 3.1.58, fixed in 3.1.59): GitPython versions before 3.1.59 contain an incomplete denylist in the unsafe_git_revision_options guard that omits --contents and -S options, allowing attackers to read arbitrary files by passing these options to Repo.blame(). Attackers can supply revision values like --contents=/etc/passwd to leak file contents through the blame result returned to the caller. details

@davidbrownell
davidbrownell merged commit 6821e85 into main Sep 7, 2026
29 checks passed
@davidbrownell
davidbrownell deleted the uv-audit-20260907-151719 branch September 7, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant