Skip to content
Fencer Vulns
medium 5.7

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-dulwich
    affected: 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

Weakness
  • CWE-400 Uncontrolled Resource Consumption
  • CWE-789 Memory Allocation with Excessive Size Value

References

Sources

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.