Vulnerabilities

Vulnerability · CVE-2026-114095

Dulwich: Infinite Loop Denial of Service (DoS) in Packfile Object Resolution

Published Oct 2, 2026 · catalog updated Oct 21, 2026 · Dulwich: Infinite Loop Denial

Open the advisory

Exploitation likelihood is not on this record for CVE-2026-114095. A missing EPSS score is not a low risk. Compare Dulwich: Infinite Loop Denial with the linked advisory before you change production.

Gaps on this record

  • The stored product name is a package slug. The name on this page is taken from the title (Dulwich: Infinite Loop Denial).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
  • EPSS is missing. A missing score is not a low risk.
Severity
High7.1
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
Awaiting synchronization with FIRST
Remediation
Advisory link
Affected products
PyPI dulwich

### Affected file * (Method: ) ### Description / Summary A High-severity Denial of Service (DoS) vulnerability exists in the method. When resolving an object, the resolver calculates the base offset using . If a malicious packfile contains an object where is , the calculation resolves back to the current object's own offset. Because the implementation lacks a depth counter, a "visited" set, or an explicit rejection of , the resolver enters an infinite recursive loop, exhausting CPU resources and eventually crashing the process. **Vulnerable Code Breakdown ( ):** ### Potential impact An attacker can trigger this infinite loop via any operation that walks packfiles (e.g., , , , or internal lookups). 1. **CPU Exhaustion:** The process will spin at 100% CPU indefinitely. 2. **Denial of Service:** Any service using (web interfaces, CI/CD runners) will hang or crash, preventing legitimate repository access. 3. **Protocol Incompatibility:** This behavior violates the Git packfile specification. The standard C client explicitly guards against this: . ### POC (Proof of Concept) The following Python script generates a 44-byte packfile that triggers the loop: ### Possible solution 1. **Explicit Guard:** Add a check in to reject : 2. **Recursion Depth:** Implement a depth limit (e.g., ) to prevent long, non-looping chains of deltas (OFS or REF).

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • PyPI dulwich0 → 1.2.9

How to fix CVE-2026-114095

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

Exploitation likelihood is not on this record for CVE-2026-114095. A missing EPSS score is not a low risk. Compare Dulwich: Infinite Loop Denial with the linked advisory before you change production.

Which versions are affected?

Compare what you have installed with 0 → 1.2.9. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-835: Infinite Loop. EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 2, 2026 · GitHub Advisory Database

    Detected

    ### Affected file * (Method: ) ### Description / Summary A High-severity Denial of Service (DoS) vulnerability exists in the method. When resolving an object, the resolver calculates the base offset using . If a malicious packfile contains an object where is , the calculation resolves back to the current object's own offset. Because the implementation lacks a depth counter, a "visited" set, or an

  2. Oct 21, 2026 · GitHub Advisory Database

    Fix available

    dulwich fixed in 1.2.9

  3. Oct 21, 2026 · GitHub Advisory Database

    Fix available

    dulwich fixed in 1.2.9

  4. Oct 21, 2026 · GitHub Advisory Database

    Updated

    ### Affected file * (Method: ) ### Description / Summary A High-severity Denial of Service (DoS) vulnerability exists in the method. When resolving an object, the resolver calculates the base offset using . If a malicious packfile contains an object where is , the calculation resolves back to the current object's own offset. Because the implementation lacks a depth counter, a "visited" set, or an

  5. Oct 21, 2026 · NIST NVD

    Updated

    Dulwich before 1.2.9 contains a denial of service vulnerability in Pack.resolve_object that allows attackers to cause infinite recursion via self-referential OFS_DELTA objects. Attackers can supply a malicious packfile with an OFS_DELTA delta_offset of 0 to exhaust CPU during clone, fetch, or cat-file operations.

Sources

  • CVE.orgVulnerability recordCVE-2026-114095

    Official CVE identifier

    cve.org
  • GitHub Advisory DatabasePackage advisoryGHSA-35mr-4567-66vg

    GitHub Advisory Database record mirrored by OSV.

    github.com
  • NIST NVDVulnerability recordCVE-2026-114095

    Dulwich before 1.2.9 contains a denial of service vulnerability in Pack.resolve_object that allows attackers to cause infinite recursion via self-referential OFS_DELTA objects. Attackers can supply a malicious packfile with an OFS_DELTA delta_offset of 0 to exhaust CPU during clo

    nvd.nist.gov
  • OpenSSF OSV / OSV ScannerPackage advisoryGHSA-35mr-4567-66vg

    Dulwich: Infinite Loop Denial of Service (DoS) in Packfile Object Resolution

    osv.dev
  • PyPA Advisory DatabasePackage advisoryGHSA-35mr-4567-66vg

    Dulwich: Infinite Loop Denial of Service (DoS) in Packfile Object Resolution

    osv.dev

References

Freshness

Last verified in this catalog Oct 21, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.