Impact
The podman quadlet install --replace command opens the destination quadlet file with the flags O_CREATE and O_WRONLY but omits O_TRUNC. When the initial reflink copy fails—as frequently happens on systems without reflink support—the fallback uses io.Copy, which writes data without truncating the existing file. When the new quadlet is smaller than the original, the old data is retained at the end of the file. The operation then reports success even though the quadlet request was not fully applied. Because the function does not alert the user, an operator may inadvertently keep security‑relevant options such as AddCapability or host‑mount directives that are no longer intended to be present. Retaining such options can enable privileged actions or data exposure inside containers, effectively breaking the isolation guarantees the operator expected.
Affected Systems
Red Hat products that ship Podman, including Red Hat Enterprise Linux 8, 9, 10; Red Hat Ansible Automation Platform 2; Red Hat OpenShift Container Platform 4; Red Hat OpenShift Dev Spaces 3; Red Hat OpenShift Virtualization 4; Red Hat Quay 3; and Red Hat Hardened Images. Versions of Podman before the patched releases 5.8.6 and 6.0.0 are vulnerable.
Risk and Exploitability
The CVSS score of 4.2 places this issue in the moderate range, and the EPSS score is not available, indicating a low to moderate exploitation probability. It is not listed in the CISA KEV catalog. The vulnerability requires the user to run podman quadlet install --replace, so it is limited to hosts where the attacker has local or privileged Podman access. An attacker who can execute the command can overwrite the targeted quadlet file without truncating it, bringing over residual capabilities or mounts that could let the attacker gain elevated privileges inside containers or expose host data to containers.
OpenCVE Enrichment