When passing through PCI devices, the detach logic in libxl won't remove access permissions to any 64bit memory BARs the device might have.…
XEN·CWE-672·Published 2025-10-31
When passing through PCI devices, the detach logic in libxl won't remove access permissions to any 64bit memory BARs the device might have. As a result a domain can still have access any 64bit memory BAR when such device is no longer assigned to the domain. For PV domains the permission leak allows the domain itself to map the memory in the page-tables. For HVM it would require a compromised device model or stubdomain to map the leaked memory into the HVM domain p2m.
When passing through PCI devices, the detach logic in libxl won't remove access permissions to any 64bit memory BARs the device might have. As a result a domain can still have access any 64bit memory BAR when such device is no longer assigned to the domain. For PV domains the permission leak allows the domain itself to map the memory in the page-tables. For HVM it would require a compromised device model or stubdomain to map the leaked memory into the HVM domain p2m.
Al pasar dispositivos PCI, la lógica de desasignación en libxl no eliminará los permisos de acceso a ninguna BAR de memoria de 64 bits que el dispositivo pueda tener. Como resultado, un dominio aún puede tener acceso a cualquier BAR de memoria de 64 bits cuando dicho dispositivo ya no está asignado al dominio. Para dominios PV, la fuga de permisos permite que el propio dominio mapee la memoria en las tablas de páginas. Para HVM, requeriría un modelo de dispositivo comprometido o un stubdomain para mapear la memoria filtrada en el p2m del dominio HVM.
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 3.1 | Primary | cve.org | 7.5 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| 3.1 | Primary | cve.org | 7.5 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| 3.1 | Secondary | NVD | 7.5 | 3.9 | 3.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |