s390/vfio-ap: fix potential use of uninitialized apm_filtered bitmap
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.157, 6.12.110, 6.18.51, 7.2.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: s390/vfio-ap: fix potential use of uninitialized apm_filtered bitmap The DECLARE_BITMAP(apm_filtered, AP_DEVICES) macro allocates the bitmap on the stack without zero-initializing it. In vfio_ap_mdev_hot_plug_cfg(), the vfio_ap_mdev_filter_matrix() function is only called to initialize and populate apm_filtered if either filter_adapters or filter_domains is true. If the hot plug configuration change only adds control domains (meaning filter_cdoms is true, but filter_adapters and filter_domains are both false), vfio_ap_mdev_filter_matrix() is bypassed. Consequently, apm_filtered is passed to reset_queues_for_apids() with uninitialized stack garbage. This can cause reset_queues_for_apids() to interpret arbitrary stack garbage bits as valid APIDs to reset, potentially performing unintended guest hardware queue resets. Fix this by zero-initializing the apm_filtered bitmap at the beginning of vfio_ap_mdev_hot_plug_cfg() using bitmap_zero().
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 · fixed in 4ba8a08f5f26ed59f356a6318bca3aa7cc0af3e2; From eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 · fixed in f73db632524320d2b93bc8534be8ea875053502d; From eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 · fixed in 6d554f2571e6b4db242593ba561efd6a6d1f99a9; From eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 · fixed in 09548edc6114f1eb1035b30795e893204ef45b85; From eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 · fixed in bf09b9d7cd7890bc3a3b7eb63d5ece15f88bfde7
- Linux Linux
6.0
- KernelLinux
From 6.0.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5