Bumps the pip group with 1 update in the / directory: dulwich.
Updates dulwich from 1.2.1 to 1.2.5
Release notes
Sourced from dulwich's releases.
dulwich 1.2.5
This is a security release. All users are encouraged to upgrade.
Security fixes
-
GHSA-gfhv-vqv2-4544 -- Validate submodule paths in porcelain.submodule_update (and thus porcelain.clone(recurse_submodules=True)). A crafted upstream repository could carry a submodule whose path was .git/hooks (or any other path inside .git or above the work tree), causing the submodule's tree contents to be written there with their executable bits intact. The dulwich analogue of git's CVE-2024-32002 / CVE-2024-32004. (Reported by tonghuaroot)
-
CVE-2026-42305 -- Harden tree path validation against entry names that are harmless on POSIX but dangerous when checked out on Windows. validate_path_element_ntfs now also rejects Windows path separators, the alternate data stream marker :, NTFS 8.3 short-name aliases of .git, and reserved Windows device names. core.protectNTFS now defaults to true on every platform, and both core.protectNTFS and core.protectHFS are now read under their correct option names. (Reported by Christopher Toth)
-
CVE-2026-42563 -- Shell-quote values substituted into ProcessMergeDriver commands. A malicious branch could inject shell commands when a merge driver referencing %P was configured. (Reported by Ravishanker Kusuma (hayageek))
-
CVE-2026-47712 -- Sanitize commit subjects used in porcelain.format_patch filenames so a malicious subject (e.g. x/../../x) cannot direct the generated patch outside outdir. (Reported by Christopher Toth)
-
receive.maxInputSize -- Honour receive.maxInputSize in ReceivePackHandler. Previously a remote unauthenticated client could send a tiny crafted pack that declared a huge dest_size and trigger hundreds of MB of allocation over git-receive-pack. (Reported by Liyi, Ziyue, Strick, Maurice and Chenchen @ University of Sydney)
dulwich-1.2.4
Tolerate ref names with empty path components (e.g. `refs/tags//v1.0`) for now, emitting a `DeprecationWarning` rather than raising a `RefFormatError`. Such names are constructed by older Poetry releases (fixed in Poetry 2.4.0) and were silently accepted before Dulwich 1.2.3. `local_branch_name`, `local_tag_name` and `local_replace_name` likewise warn about, and strip, a leading slash instead of raising `ValueError`. Both will become errors again in a future release. (Jelmer Vernooij, #2192)
Changelog
Sourced from dulwich's changelog.
1.2.5 2026年05月28日
-
SECURITY(GHSA-gfhv-vqv2-4544): Validate submodule paths in
porcelain.submodule_update (and thus
porcelain.clone(recurse_submodules=True)). A crafted upstream
repository could carry a submodule whose path was .git/hooks (or
any other path inside .git or above the work tree), causing the
submodule's tree contents to be written there with their executable
bits intact -- dropping a hook that later commands would run. Submodule
paths are now rejected if they are absolute or carry a component that
the configured path validator refuses, and the submodule's own tree is
materialized with the same validator. This is the dulwich analogue of git's
CVE-2024-32002 / CVE-2024-32004.
(Jelmer Vernooij; reported by tonghuaroot)
-
SECURITY(CVE-2026-42305): Harden tree path validation against entry
names that are harmless on POSIX but dangerous when checked out on
Windows. A crafted tree could previously carry such names through to
the work tree. validate_path_element_ntfs now also rejects:
- Windows path separators, so an entry named
.git\hooks\pre-commit.exe can no longer materialize a file
inside .git that Git for Windows would execute.
- The alternate data stream marker
: (e.g.
.git::$INDEX_ALLOCATION, which writes into .git directly).
- NTFS 8.3 short-name aliases of
.git (git~<digits>); only
git~1 was rejected before.
- Reserved Windows device names (
CON, PRN, AUX, NUL,
COM1-COM9, LPT1-LPT9), including with an extension or
trailing dots/spaces such as NUL.txt or COM1 .bar.
In addition, core.protectNTFS now defaults to true on every
platform (matching git after CVE-2019-1353), so a POSIX clone no longer
accepts paths that would be unsafe on a later Windows clone, and both
core.protectNTFS and core.protectHFS are now read under their
correct option names, having previously been silently ignored. POSIX
users who need literal NTFS-unsafe filenames can opt out with
core.protectNTFS=false.
(Jelmer Vernooij; reported by Christopher Toth)
-
SECURITY (CVE-2026-42563): Shell-quote values substituted into
ProcessMergeDriver commands. %P is a path from the git
tree, so a malicious branch could inject shell commands when the
user had a merge driver configured that referenced %P.
(Jelmer Vernooij; reported by Ravishanker Kusuma (hayageek))
-
SECURITY(CVE-2026-47712): Sanitize commit subjects used in
porcelain.format_patch filenames so a malicious subject (e.g.
x/../../x) cannot direct the generated patch outside outdir.
get_summary now matches git's format_sanitized_subject.
... (truncated)
Commits
073f4df Release 1.2.5
5f85d3e tests: fix Windows-only failures in NTFS and merge-driver tests
25313ad Merge branch 'advisory-5'
1ca1814 submodule: Reject unsafe submodule paths in submodule_update
3559ef1 Merge branch 'advisory-4'
f860ca4 server: Honour receive.maxInputSize to bound received packs
0fd6e6b Merge branch 'advisory-3'
0110b88 Merge branch 'advisory-2'
49eb56e Add NEWS entry for CVE-2026-42305
57efc4a Merge branch 'advisory-1'
- 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 <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
@dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
@dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
@dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
@dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bumps the pip group with 1 update in the / directory: dulwich.
Updates
dulwichfrom 1.2.1 to 1.2.5Release notes
Sourced from dulwich's releases.
Changelog
Sourced from dulwich's changelog.
... (truncated)
Commits
073f4dfRelease 1.2.55f85d3etests: fix Windows-only failures in NTFS and merge-driver tests25313adMerge branch 'advisory-5'1ca1814submodule: Reject unsafe submodule paths in submodule_update3559ef1Merge branch 'advisory-4'f860ca4server: Honour receive.maxInputSize to bound received packs0fd6e6bMerge branch 'advisory-3'0110b88Merge branch 'advisory-2'49eb56eAdd NEWS entry for CVE-2026-4230557efc4aMerge branch 'advisory-1'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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditionsYou can disable automated security fix PRs for this repo from the Security Alerts page.