Executive brief
libsolv is a dependency-resolution library used by package managers (like dnf, yum, and zypper) to manage software updates on Linux systems. A flaw in how it reads .solv cache files can cause the package manager to crash when processing a corrupted or malicious cache file, disrupting software update operations. The crash is the primary impact; the vulnerability cannot be exploited for code execution.
Technical details
The vulnerability is an improper array index validation (CWE-129) in libsolv's vertical/paged filelist decoder. When libsolv rewrites a .solv cache file via repo_write(), it reads directory-id values from compressed filelist data without bounds checking, allowing an out-of-bounds memory write. Attack vector is local; an attacker must craft or corrupt a .solv cache file and cause a victim tool (dnf/yum/zypper) to process it. User interaction is required (the tool must be invoked to process the cache). The out-of-bounds write stores a fixed, non-attacker-controlled constant value, reliably resulting in a denial-of-service crash rather than code execution or data compromise. A patch is not yet available as of the advisory date.
Affected products
- libsolv project libsolv <unknown>
Timeline
- 2026-08-28: disclosed