Description
An issue was discovered in Xen through 4.12.x allowing attackers to gain host OS privileges via DMA in a situation where an untrusted domain has access to a physical device (and assignable-add is not used), because of an incomplete fix for CVE-2019-18424. XSA-302 relies on the use of libxl's "assignable-add" feature to prepare devices to be assigned to untrusted guests. Unfortunately, this is not considered a strictly required step for device assignment. The PCI passthrough documentation on the wiki describes alternate ways of preparing devices for assignment, and libvirt uses its own ways as well. Hosts where these "alternate" methods are used will still leave the system in a vulnerable state after the device comes back from a guest. An untrusted domain with access to a physical device can DMA into host memory, leading to privilege escalation. Only systems where guests are given direct access to physical devices capable of DMA (PCI pass-through) are vulnerable. Systems which do not use PCI pass-through are not vulnerable.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | xen | 4.11.3+24-g14b62ab3e5-1 | — |
| Debian 13 | xen | 4.11.3+24-g14b62ab3e5-1 | — |
| Debian 12 | xen | 4.11.3+24-g14b62ab3e5-1 | — |
| Debian 10 | xen | 4.11.3+24-g14b62ab3e5-1~deb10u1 | DSA-4602-1 |
| Debian 9 | xen | 4.8.5.final+shim4.10.4-1+deb9u12 | DSA-4602-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | xen | No fix yet | — |
| Ubuntu 16.04 LTS | xen | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP1 | xen | 4.12.1_06-3.9.1 | SUSE-SU-2019:3338-1 |
| SLES 15 | xen | 4.10.4_08-3.28.1 | SUSE-SU-2019:3309-1 |
| SLES 12 SP4 | xen | 4.11.3_02-2.20.1 | SUSE-SU-2019:3310-1 |
| SLES 12 SP3 | xen | 4.9.4_06-3.59.1 | SUSE-SU-2020:1630-1, SUSE-SU-2019:3297-1 |
| SLES 12 SP2 | xen | 4.7.6_06-43.59.1 | SUSE-SU-2020:0334-1 |
Show 11 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 12 SP1 | xen | 4.5.5_28-22.64.1 | SUSE-SU-2020:0388-1 |
| SLES 11 SP4 | xen | 4.4.4_42-61.52.1 | SUSE-SU-2020:14444-1 |
| SLES for SAP 12 SP4 | xen | 4.11.3_02-2.20.1 | SUSE-SU-2019:3310-1 |
| SLES for SAP 12 SP3 | xen | 4.9.4_06-3.59.1 | SUSE-SU-2020:1630-1, SUSE-SU-2019:3297-1 |
| SLES for SAP 12 SP2 | xen | 4.7.6_06-43.59.1 | SUSE-SU-2020:0334-1 |
| SLES for SAP 12 SP1 | xen | 4.5.5_28-22.64.1 | SUSE-SU-2020:0388-1 |
| SUSE OpenStack Cloud Crowbar 8 | xen | 4.9.4_06-3.59.1 | SUSE-SU-2020:1630-1, SUSE-SU-2019:3297-1 |
| SUSE OpenStack Cloud 8 | xen | 4.9.4_06-3.59.1 | SUSE-SU-2020:1630-1, SUSE-SU-2019:3297-1 |
| SUSE OpenStack Cloud 7 | xen | 4.7.6_06-43.59.1 | SUSE-SU-2020:0334-1 |
| SUSE HPE Helion OpenStack 8 | xen | 4.9.4_06-3.59.1 | SUSE-SU-2020:1630-1, SUSE-SU-2019:3297-1 |
| SUSE Enterprise Storage 5 | xen | 4.9.4_06-3.59.1 | SUSE-SU-2020:1630-1, SUSE-SU-2019:3297-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.1 | xen | 4.12.1_06-lp151.2.9.1 | openSUSE-SU-2020:0011-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | xen | 4.13.0-r0 | — |
| Alpine v3.23 | xen | 4.13.0-r0 | — |
| Alpine v3.22 | xen | 4.13.0-r0 | — |
| Alpine v3.21 | xen | 4.13.0-r0 | — |
| Alpine v3.20 | xen | 4.13.0-r0 | — |
Show 12 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | xen | 4.13.0-r0 | — |
| Alpine v3.18 | xen | 4.13.0-r0 | — |
| Alpine v3.17 | xen | 4.13.0-r0 | — |
| Alpine v3.16 | xen | 4.13.0-r0 | — |
| Alpine v3.15 | xen | 4.13.0-r0 | — |
| Alpine v3.14 | xen | 4.13.0-r0 | — |
| Alpine v3.13 | xen | 4.13.0-r0 | — |
| Alpine v3.12 | xen | 4.13.0-r0 | — |
| Alpine v3.11 | xen | 4.13.0-r0 | — |
| Alpine v3.10 | xen | 4.12.2-r0 | — |
| Alpine v3.9 | xen | 4.11.3-r0 | — |
| Alpine v3.8 | xen | 4.10.4-r2 | — |
Advisories 10
- DSA-4602-1 xen - security update Debian Security (DSA / DLA) · Mar 9, 2026
- SUSE-SU-2019:3338-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:0334-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:1630-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2020:0011-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:3309-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:14444-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:3297-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:3310-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:0388-1 Security update for xen SUSE / openSUSE Security Updates · Feb 4, 2026
References
- http://xenbits.xen.org/xsa/advisory-306.html
- https://xenbits.xen.org/xsa/advisory-306.html
- https://www.openwall.com/lists/oss-security/2019/11/26/2
- [oss-security] 20191205 Xen Security Advisory 306 v3 (CVE-2019-19579) - Device quarantine for alternate pci assignment methods mailing-list
- FEDORA-2019-3d7105bd2a vendor-advisory
- openSUSE-SU-2020:0011 vendor-advisory
- DSA-4602 vendor-advisory
- 20200114 [SECURITY] [DSA 4602-1] xen security update mailing-list