CVE-2026-47734 json
Dulwich has unbounded memory allocation in receive-pack from crafted thin packs
published 2026-06-08 5 mo ago modified 2026-07-23 3 mo ago also GHSA-xrvj-v92f-53gj , PYSEC-2026-2466 , EUVD-2026-36193
- cvss
- 5.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
Summary
Dulwich is a pure-Python implementation of the Git file formats and protocols. Starting in version 0.1.0 and prior to version 1.2.5, a client with push access could push a tiny crafted thin pack (~174 bytes) whose delta header declares a huge dest_size. When dulwich ingested it via add_thin_pack / apply_delta, it would allocate hundreds of MB of memory based on that attacker-controlled size, with no relationship to the actual bytes received. Operators running a Dulwich-based Git server that exposes git-receive-pack (i.e. accepts pushes) - for example via dulwich.server functionality, the HTTP smart server, or anything built on ReceivePackHandler - are impacted. The issue is patched in 1.2.5. add_thin_pack now accepts a max_input_size keyword (bytes; 0/None = unlimited, matching git's semantics), and ReceivePackHandler reads receive.maxInputSize from the repository config and passes it through. Wire reads are counted and a PackInputTooLarge exception is raised once the cap is exceeded - equivalent to git index-pack --max-input-size. Users should upgrade to Dulwich 1.2.5 or later and set receive.maxInputSize in their server's repository config to a sane bound for their environment. On unpatched versions, receive.maxInputSize has no effect, so it cannot be used as a workaround. Until upgrading, operators should restrict dulwich-receive-pack (push) access to trusted, authenticated clients only, or disable it entirely on servers that only need to serve fetches and/or run the server under an OS-level memory limit (e.g. ulimit, cgroups/MemoryMax, or a container memory limit) so a malicious push is killed rather than taking down the host.
Patch / fix
- pypi dulwich 1.2.5
- dulwich Debian 14 1.2.5-1
debian advisories DEBIAN-CVE-2026-47734
- python-dulwich SLE Module for Public Cloud 12 0.18.5-4.6.1
- python3-dulwich SLE Module for Basesystem 15 SP7 0.20.24-150400.8.1
suse advisories SUSE-SU-2026:3117-1SUSE-SU-2026:2984-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-47734 updated cvss 6.5
dulwich: Dulwich: Denial of Service via crafted Git thin pack
-
Red Hat Ansible Automation Platform 2 ansible-automation-platform-26/controller-rhel9, ansible-automation-platform-27/controller-rhel9, ansible-automation-platform-26/eda-controller-rhel9, ansible-automation-platform-27/eda-controller-rhel9, ansible-automation-platform-26/lightspeed-chatbot-rhel9 Red Hat Enterprise Linux 7 resource-agents, resource-agents-gcp, resource-agents-sap, sap-cluster-connector, resource-agents-aliyun, resource-agents-sap-hana, +1 more Red Hat Enterprise Linux 8 resource-agents, resource-agents-gcp, resource-agents-paf, resource-agents-aliyun Red Hat OpenShift AI (RHOAI) rhoai/odh-kserve-agent-rhel9, rhoai/odh-kserve-router-rhel9, rhoai/odh-kserve-controller-rhel9, rhoai/odh-kserve-autogluon-server-rhel9, rhoai/odh-kserve-storage-initializer-rhel9 Red Hat OpenShift Container Platform 4 python-dulwich Red Hat Satellite 6 python-dulwichaffected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | dulwich | >=0.1.0, <1.2.5 |
1.2.5 |
Affected products
- jelmer dulwich
Classification
References
Sources
- CVE List CVE-2026-47734
- GitHub Advisory GHSA-xrvj-v92f-53gj
- NVD CVE-2026-47734
- OSV PYSEC-2026-2466
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.