CVE-2026-47734 json
Dulwich has unbounded memory allocation in receive-pack from crafted thin packs
published 5mo ago modified 3mo ago also EUVD-2026-36193 , GHSA-xrvj-v92f-53gj , PYSEC-2026-2466
- 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_project 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
Is CVE-2026-47734 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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
- 5mo ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-11).
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 |
| GitHub | 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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | dulwich | >=0.1.0, <1.2.5 |
1.2.5 |
Affected products
- jelmer dulwich
Classification
References
-
github.com
/jelmer/dulwich/security/advisories/GHSA-xrvj-v92f-53gj
web, advisory
-
github.com
/jelmer/dulwich/releases/tag/dulwich-1.2.5
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-47734
advisory
-
github.com
/jelmer/dulwich
package
-
pypi.org
/project/dulwich
package
-
github.com
/advisories/GHSA-xrvj-v92f-53gj
advisory
Sources
- CVE List CVE-2026-47734
- GitHub Advisory GHSA-xrvj-v92f-53gj
- NVD CVE-2026-47734
- OSV PYSEC-2026-2466
- Maintainer advisory GHSA-xrvj-v92f-53gj
Fencer Intel 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.
The maintainers of jelmer/dulwich published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.