Executive brief
ORAS CLI is a command-line tool for managing container artifacts in OCI registries. When processing artifact metadata from a registry, ORAS can fall into infinite loops if the registry returns a circular graph of artifact references (e.g., artifact A points to itself or creates a cycle A→B→A). This causes the tool to consume unbounded CPU and memory, stalling CI/CD pipelines, automation jobs, and backup/restore operations until the process crashes or hangs.
Technical details
The vulnerability is an uncontrolled recursion issue (CWE-674) in ORAS CLI's referrer graph traversal logic. The `oras discover` command and the recursive counting functions used by `oras backup` and `oras restore` do not maintain a set of visited descriptors. When a malicious OCI registry returns cyclic referrer graphs (e.g., referrers(A)=[A] or referrers(A)=[B], referrers(B)=[A]), the recursive traversal never terminates because visited state is not tracked. An attacker controlling a registry can trigger this via the network by serving metadata with cycles. The `oras discover --depth` option defaults to unlimited recursion depth, making discovery vulnerable out of the box. Patches thread a visited-descriptor set through traversal to break cycles. This affects ORAS CLI versions prior to 1.3.3.
Affected products
- ORAS Project ORAS CLI < 1.3.3
Timeline
- 2026-08-28: disclosed: Advisory published to GitHub Advisory Database
- 2026: patched: Patched in version 1.3.3