CVE-2026-47699 json
Confidential Containers Guest Components image-rs: zip-slip-class arbitrary file write via absolute entry path in hardlink fallback
published 5mo ago modified 20d ago also EUVD-2026-62192 , GHSA-84rc-2q4r-45pc
Unreviewed: the maintainers' own advisory
Published by the maintainers on their GitHub repository confidential-containers/guest-components. GitHub has not reviewed it into the GitHub Advisory Database, so the affected packages and versions are the maintainers' word. Read the full advisory on GitHub.
- cvss
- 6.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 21%
- public exploits
- 0
- none known
Summary
Confidential Containers Guest Components provides guest tools and components for confidential container workloads. From 0.16.0 until 0.20.0, a crafted OCI image layer can make image_rs::stream::unpack::unpack() create a hardlink outside its destination directory. In image-rs/src/stream/unpack.rs, try_hardlink_fallback() validates the hardlink source but computes the destination with destination.join(&entry_rel). Rust Path::join replaces the base when entry_rel is an absolute tar entry path, so fs::hard_link(&src_canon, &dst_entry_abs) can write attacker-controlled content to an arbitrary absolute path. In Confidential Containers the workload owner already controls trusted image content, so the issue is a workload-owner escape into the pod virtual machine rather than a crossing of the image trust boundary, but it may enable access to pod virtual machine capabilities and attestation abuse. This issue is fixed in version 0.20.0.
Patch / fix
- github.com/confidential-containers/guest-components@14fbb71 commit
- github.com/confidential-containers/guest-components@7cc1bc4 commit
- github.com/confidential-containers/guest-components#1440 pull request
- github.com/confidential-containers/guest-components#1457 pull request
- github.com/confidential-containers/guest-components/releases/tag/v0.2… release
Is CVE-2026-47699 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-47699 updated cvss 6.4
image-rs: guest-components: container escape via crafted OCI image layer
-
Red Hat Confidential Compute Attestation openshift-sandboxed-containers/osc-podvm-payload-rhel9 Red Hat Enterprise Linux 9 trustee-guest-components Red Hat Enterprise Linux 10 trustee 0.15.0-2.el10 Red Hat OpenShift Container Platform 4 kata-containersaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 10 trustee-guest-componentsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.29% chance of exploitation in the next 30 days, higher than 21% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
Affected products
- confidential-containers guest-components
Classification
References
- github.com /confidential-containers/guest-components/pull/1440
- github.com /confidential-containers/guest-components/pull/1457
- github.com /confidential-containers/guest-components/commit/14fbb711af0b29bb9cad307969d57b0de9b85d7f
- github.com /confidential-containers/guest-components/commit/7cc1bc458973310296e58aedbb15cb7963297bbe
-
github.com
/confidential-containers/guest-components/security/advisories/GHSA-84rc-2q4r-45pc
advisory
- github.com /confidential-containers/guest-components/releases/tag/v0.20.0
Sources
- CVE List CVE-2026-47699
- NVD CVE-2026-47699
- Maintainer advisory GHSA-84rc-2q4r-45pc
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of confidential-containers/guest-components published their own advisory on GitHub. Reviewed sources take precedence over it.