Skip to main content

Dulwich CVE-2026-114095

| EUVDEUVD-2026-106898 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-10-21 VulnCheck GHSA-r78r-wr5r-rqfm
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Host malicious packfile/repository
  2. Delivery
    Victim initiates clone/fetch/cat-file
  3. Exploit
    Resolver computes self-referential base offset (delta_offset=0)
  4. Execution
    Infinite recursion in Pack.resolve_object
  5. Impact
    CPU exhaustion hangs/crashes service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that a victim perform a packfile-walking operation - dulwich clone, fetch, cat-file, or any internal Pack.__getitem__/Pack.resolve_object lookup - against an attacker-supplied packfile containing an OFS_DELTA object whose delta_offset field is exactly 0 (causing base_offset = obj_offset - 0 to self-reference). No authentication is required (PR:N), but the attack is gated by passive user interaction (UI:P): the attacker cannot trigger it unsolicited and must induce the victim/service to process the malicious pack. The primary limiting factor is therefore that the target must ingest attacker-controlled packfiles - highest real-world exposure is for multi-tenant or internet-facing services (CI/CD runners, Git hosting/web frontends) built on dulwich < 1.2.9; isolated clients cloning only trusted repositories are at low practical risk. Fixed in 1.2.9.

Impact

This is a credible but moderate-priority denial-of-service issue, not a critical system-compromise flaw. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 7.1 and correctly reflects a network-reachable, low-complexity, unauthenticated attack whose only impact is availability (VA:H) - there is no confidentiality or integrity loss (VC:N/VI:N), consistent with CWE-835 (infinite loop/recursion). The key moderating signal is UI:P (passive user interaction): exploitation requires a victim to initiate a packfile-walking operation (clone, fetch, cat-file) against attacker-supplied data, so this is not a wormable, self-propagating remote exploit. Publicly available exploit code exists (a 44-byte PoC packfile is published in the GHSA advisory), which raises practical risk, but this is NOT the same as active exploitation. The CVE is NOT in CISA KEV, and no EPSS score was provided in the input, so exploitation probability cannot be quantified from this data. Net: a real, easily reproducible DoS against any service that parses untrusted packfiles (CI/CD runners, Git web frontends built on dulwich), but bounded to availability and gated by the victim-initiated-operation requirement - prioritize patching for internet-facing or multi-tenant dulwich-backed services over isolated client use.

Exploit ScenarioDerived

An attacker hosts a malicious Git repository (or submits a crafted packfile to a service that ingests them) containing a single OFS_DELTA object whose delta_offset is 0, making the object reference its own offset. When a victim service or user runs clone, fetch, or cat-file against it, dulwich's Pack.resolve_object recurses into itself endlessly, pinning a CPU core at 100% and hanging or crashing the process. A working proof-of-concept that generates the 44-byte trigger packfile is published in the vendor advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Dulwich before 1.2.9 can be driven into an infinite recursion loop by a crafted packfile containing an OFS_DELTA object whose delta_offset is 0, causing CPU exhaustion during clone, fetch, cat-file, or internal object lookups. The flaw is availability-only and requires the victim or service to process an attacker-supplied packfile; publicly available exploit code exists.

RemediationAI

Vendor-released patch: upgrade to Dulwich 1.2.9 or later; the fix commit d06ffc3e1aff0ea0a32094debead891be0083eb7 adds an explicit guard in Pack.resolve_object. See GHSA-35mr-4567-66vg and the VulnCheck advisory for details. If upgrading immediately is not possible, avoid clone, fetch, cat-file, and other packfile-walking operations on untrusted repositories; restrict such operations to trusted sources and run them in isolated processes with CPU and time limits and timeouts (trade-off: legitimate large or slow operations may be terminated). For multi-tenant or internet-facing services, gate or disable ingestion of attacker-controlled packfiles until patched, accepting reduced functionality. Do not rely on network filtering alone because the malicious data can arrive through normal Git transport.

Affected VersionsENISA

dulwich 0 <1.2.9

Affected Packages

pypi dulwich fix: 1.2.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Dulwich is a pure-Python Git implementation, and its packfile resolver handles OFS_DELTA entries by computing base_offset = obj_offset - delta_offset before recursively resolving the base object. A malicious pack can set delta_offset to 0, so base_offset equals the current object's own offset and the resolver recurses indefinitely because there is no visited set, depth counter, or explicit rejection of zero. This is CWE-835 (Infinite Loop) in dulwich/pack.py (Pack.resolve_object), affecting packfile-walking paths. The CPE cpe:2.3:a:jelmer:dulwich:*:*:*:*:*:*:*:* covers the affected Python package prior to 1.2.9. The Git C client explicitly rejects delta_offset 0. Assessed CVSS 3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H reflects a remote, unauthenticated trigger gated by user interaction and availability-only impact; exploitation requires ingestion of an attacker-controlled packfile.

Know when Dulwich gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable parsing of untrusted packfiles with no auth (AV:N/PR:N) but requires victim to initiate the operation (UI:R); impact is availability-only CPU exhaustion (A:H, C:N/I:N), scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 02:01 EUVD
CVE Published
Oct 21, 2026 - 00:36 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Technical POC Analysis

CWE-835: Loop with Unreachable Exit Condition (Infinite Loop), in Pack.resolveobject in dulwich/pack.py.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity availability flaw in the Dulwich Python Git library can allow crafted packfiles to exhaust CPU and disrupt services that clone, fetch, or inspect Git data. Leadership should care because publicly available exploit code exists, no vendor-released patch identified at time of analysis, and any Dulwich-based tooling that handles external or semi-trusted repositories represents a service-continuity risk.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include processing only trusted packfiles, disabling or sandboxing clone/fetch/cat-file/object lookup against untrusted repositories, enforcing CPU/time/resource limits and rate limiting, monitoring for CPU exhaustion, and upgrading to Dulwich 1.2.9 or later when available.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Medium
popular pure-Python Git library used in CI/CD runners and Git web frontends
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy