Skip to content

build(deps): bump gitpython from 3.1.47 to 3.1.52 in /docs#857

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/docs/gitpython-3.1.52
Open

build(deps): bump gitpython from 3.1.47 to 3.1.52 in /docs#857
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/docs/gitpython-3.1.52

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 24, 2026

Copy link
Copy Markdown
Contributor

Bumps gitpython from 3.1.47 to 3.1.52.

Release notes

Sourced from gitpython's releases.

3.1.52 Security

GHSA-rwj8-pgh3-r573: Environment-variable exfiltration via os.path.expandvars() on Repo.clone_from() URL

What's Changed

Full Changelog: gitpython-developers/GitPython@3.1.51...3.1.52

3.1.51 - Security

What's Changed

New Contributors

Full Changelog: gitpython-developers/GitPython@3.1.50...3.1.51

3.1.50

What's Changed

New Contributors

... (truncated)

Commits
  • f8b6df5 bump patch level prior to release
  • c65dfb3 Merge pull request #2172 from gitpython-developers/fix-clone-expandvars
  • 8ac5a30 fix: prevent environment expansion in clone URLs
  • 7a46dfc Merge pull request #2171 from gitpython-developers/fix-windows-tests
  • 67082d6 test: skip relative config include across Windows drives
  • 7b0764d bump to v3.1.51
  • af027be Merge pull request #2163 from gitpython-developers/fix-unguarded-blame
  • 701ce32 fix: Guard unsafe git command options (GHSA-956x-8gvw-wg5v)
  • 65a7283 Merge pull request #2168 from gitpython-developers/advisory-fix-1
  • 3e59876 Merge pull request #2169 from gitpython-developers/fix-config-assert
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.47 to 3.1.52.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](gitpython-developers/GitPython@3.1.47...3.1.52)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-version: 3.1.52
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jul 24, 2026
@hermes-exosphere

Copy link
Copy Markdown

Automated code review started - full review. Results will be posted here.

@hermes-exosphere

Copy link
Copy Markdown

[progress] Review complete. Posting findings now.

@hermes-exosphere

Copy link
Copy Markdown

🔍 Automated Code Review

📋 Executive Summary

Dependabot bump of gitpython from 3.1.47 to 3.1.52 in /docs. This is a high-priority security update that patches GHSA-rwj8-pgh3-r573 — an environment-variable exfiltration vulnerability in Repo.clone_from() via os.path.expandvars(). The change is a pure lockfile update: 3 lines added, 3 removed in docs/uv.lock. No source code changes. Hashes verified against PyPI.


📊 Change Architecture

graph TD
    A[gitpython 3.1.47] -->|"bump: 3.1.47 → 3.1.52"| B[gitpython 3.1.52]
    B -->|"security patch"| C[GHSA-rwj8-pgh3-r573 FIXED]
    B -->|"unchanged"| D[gitdb 4.0.12]
    A --> E[Transitive dep of]
    E --> F[mkdocs-git-revision-date-localized-plugin]
    F --> G[CI: Check Docs before PR merge]
    G -->|"pre-existing failure"| H[Pygments HtmlFormatter bug]
    style B fill:#90EE90
    style C fill:#FFD700
    style H fill:#FFB6C1
Loading

Legend: 🟢 New version | 🟡 Security fix | 🔴 Pre-existing CI failure (NOT caused by this PR)


🔴 Breaking Changes

No breaking changes detected. This is a lockfile-only change. GitPython 3.1.52 is backwards-compatible with 3.1.47. The only dependency (gitdb) remains at 4.0.12.


⚠️ Issues Found

No code issues. The diff is trivial — version string and hash updates in the lockfile. Hashes verified against PyPI live API:

  • Wheel sha256: 79a36ee1f83523214a3f72d56cf1c4e490d577dc61af77e43dfe5862bd9da01a
  • Sdist sha256: de0a8ad86274c6e75ae8b37dd055ba68f19818c813108642263227b20775b48e

🔬 Logical / Bug Analysis

Security assessment (CRITICAL — the reason this PR exists):

  • GHSA-rwj8-pgh3-r573 (HIGH severity): gitpython ≤ 3.1.51 applies os.path.expandvars() to user-supplied clone URLs, allowing attackers to exfiltrate environment variables (e.g., GITHUB_TOKEN, DATABASE_URL) by embedding $VAR tokens in the URL. Version 3.1.52 removes this vulnerable code path.
  • gitpython 3.1.47 has all of these CVEs unpatched:

CI failure analysis:


🧪 Evidence — Build & Test Results

Hash Verification Against PyPI
Wheel: gitpython-3.1.52-py3-none-any.whl
  sha256: 79a36ee1f83523214a3f72d56cf1c4e490d577dc61af77e43dfe5862bd9da01a
  url: .../gitpython-3.1.52-py3-none-any.whl
Sdist: gitpython-3.1.52.tar.gz
  sha256: de0a8ad86274c6e75ae8b37dd055ba68f19818c813108642263227b20775b48e
  url: .../gitpython-3.1.52.tar.gz

✅ All hashes match the lockfile.
CI: Check Docs before PR merge
FAILURE — 'NoneType' object has no attribute 'replace'
  File ".../pygments/formatters/html.py", line 434, in __init__
    self.filename = html.escape(self._decodeifneeded(options.get('filename', '')))

This failure is pre-existing — same error on the current main branch and all recent PRs. Not caused by gitpython.


🔗 Issue Linkage

⚠️ No issue linked. This is a Dependabot security bump — the PR body references GHSA-rwj8-pgh3-r573 directly.


👥 Human Review Feedback

No human review comments on this PR.


💡 Suggestions

  1. [Non-blocking] Consider fixing the Pygments/pymdown-extensions compatibility issue in the docs build separately — it blocks ALL docs PRs from having green CI.
  2. [Non-blocking] The Dependabot config could benefit from enabling auto-merge for patch-version security bumps like this one. This update has been pending since July 16 (8 days) and blocks 3 CVEs.

🏆 Verdict

VERDICT: APPROVED

Clean security update. Hashes verified. No breaking changes. The CI failure is pre-existing and unrelated. This PR closes a HIGH-severity vulnerability (GHSA-rwj8-pgh3-r573) in a transitive docs dependency. Merge immediately.


Automated code review · 2026-07-24 11:42:00 UTC

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[PASS] Approved

Dependabot security bump: gitpython 3.1.47 -> 3.1.52 in /docs. Pure lockfile change (1 file, 3 insertions, 3 deletions).

This is a HIGH-PRIORITY security update. Version 3.1.52 patches:

  • GHSA-rwj8-pgh3-r573: Environment-variable exfiltration via os.path.expandvars() on clone URLs
  • GHSA-956x-8gvw-wg5v: Unguarded unsafe git options in blame
  • Abbreviated unsafe git options rejection

Hashes verified against PyPI live API. No breaking changes. The CI failure (Check Docs before PR merge) is pre-existing — same Pygments HtmlFormatter bug affects ALL recent PRs including the one that merged 3.1.47.

Merge immediately — this fixes a HIGH severity vulnerability.

@hermes-exosphere hermes-exosphere left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review: Approved. ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant