Public vulnerability disclosure

CVE-2026-63622

Libvirt: swtpm privilege escalation via symlink following

publishedCWE-59

A flaw was found in libvirt. A local attacker, specifically a process running as the confined `swtpm` user, could exploit a symlink-following vulnerability in the `virFileChownFiles()` function. By planting a symbolic link within the `swtpm` state directory, the attacker could trick the root-level libvirt daemon into changing the ownership of an arbitrary file to the `swtpm` user. This allows for privilege escalation from the `swtpm` sandbox to root-level file ownership control.

Technical severity7.8 highCVSS 3.1 · CNA: redhat
Published2026-08-10Source updated 2026-11-03
Collected2026-11-042 attributed sources

Fixes and workarounds

Workaround

If virtual Trusted Platform Module (vTPM) functionality is not required, remove the <tpm> device definition from the domain XML configuration to prevent the vulnerable code path from being reached. To check if a domain uses vTPM: ``` virsh dumpxml <domain> | grep -A5 '<tpm' ``` To remove it, edit the domain XML and delete the <tpm> block. This prevents libvirt from spawning swtpm processes and from calling virFileChownFiles() on the swtpm state directory during domain startup. Domains that require vTPM for guest OS functionality cannot use this mitigation and should prioritize applying the upstream fix.

Source: CNA: redhat

Affected products and versions

Affected products, source version ranges and reporting authorities
ProductVersionsAuthority
Red Hat Enterprise Linux 10
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:11.10.0-12.9.el10_2; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 10.0 Extended Update Support
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:10.10.0-8.11.el10_0; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 7 Extended Lifecycle Support
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:4.5.0-36.el7_9.7; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
Red Hat
virt:rhel
https://access.redhat.com/downloads/content/package-browser/
≥ 8040020260916092751.522a0ee4; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On
Red Hat
virt:rhel
https://access.redhat.com/downloads/content/package-browser/
≥ 8040020260916092751.522a0ee4; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support
Red Hat
virt:rhel
https://access.redhat.com/downloads/content/package-browser/
≥ 8060020260910092451.ad008a3a; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8.6 Extended Update Support Long-Life Add-On
Red Hat
virt:rhel
https://access.redhat.com/downloads/content/package-browser/
≥ 8060020260910092451.ad008a3a; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8.8 Telecommunications Update Service
Red Hat
virt:rhel
https://access.redhat.com/downloads/content/package-browser/
≥ 8080020260910092120.63b34585; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions
Red Hat
virt:rhel
https://access.redhat.com/downloads/content/package-browser/
≥ 8080020260910092120.63b34585; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 9
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:11.10.0-12.7.el9_8; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:9.0.0-10.16.el9_2; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 9.4 Update Services for SAP Solutions
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:10.0.0-6.23.el9_4; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 9.6 Extended Update Support
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
≥ 0:10.10.0-7.18.el9_6; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux 6
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
Range not reported
Other versions: unaffected
CNA: redhat
Red Hat Enterprise Linux 8
Red Hat
virt:rhel/libvirt
https://access.redhat.com/downloads/content/package-browser/
Range not reported
Other versions: affected
CNA: redhat
Red Hat Enterprise Linux for NVIDIA 26
Red Hat
libvirt
https://access.redhat.com/downloads/content/package-browser/
Range not reported
Other versions: unknown
CNA: redhat

Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.

CVSS assessments

CVSS scores, vectors and reporting authorities
Version / scoreVectorAuthority
3.1 / 7.8
high
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCNA: redhat

Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

References

For agents and automation

Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.

Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.

Endpoints and access details

https://api.y2.dev/api/v2/cyber/cves
https://api.y2.dev/api/v2/cyber/cves/{cveId}

A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.

For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.

Agent access JSON · OpenAPI · CVE API guide