KVM: s390: Fix length check __import_wp_info()
- 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 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.51, and 1 more
- 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: KVM: s390: Fix length check __import_wp_info() struct kvm_hw_breakpoint::len is a __u64 that is fully controlled by user space. This is then assigned to wp_info->len, which is an int. The bounds check is done on the truncated value while the allocation uses the untruncated one: wp_info->len = bp_data->len; [...] if (wp_info->len < 0 || wp_info->len > MAX_WP_SIZE) return -EINVAL; wp_info->old_data = kmalloc(bp_data->len, GFP_KERNEL_ACCOUNT); Use the validated value for the allocation as intended. Without this fix userspace can trigger >4GB allocations which will fail and result in a WARN due to MAX_PAGE_ORDER.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in aef540194effd768bed0bd2e6a74fe135a3d7c3a; From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in 71153d3262517e1c02c3a66aa5094f279b2d1454; From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in fec89d327d9b2b669b5bbdac209386c6317c3722; From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in b94ab9caa5d72c78226121cccff5e33f946da900; From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in beb9c55af609c4c7308259d7191688c75a4e3d4a; From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in 3fe801db90bdeefb0bbdda42d832846b53f64f8a; From 27291e2165b6de70c476b7b675308113edd69a60 · fixed in 4c07680a467e2f7697245bcd11691bffb2a6f0ed
- Linux Linux
3.16
- KernelLinux
From 3.16.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.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
References 7
git.kernel.org
- stable/c/aef540194effd768bed0bd2e6a74fe135a3d7c3a
- stable/c/71153d3262517e1c02c3a66aa5094f279b2d1454
- stable/c/fec89d327d9b2b669b5bbdac209386c6317c3722
- stable/c/b94ab9caa5d72c78226121cccff5e33f946da900
- stable/c/beb9c55af609c4c7308259d7191688c75a4e3d4a
- stable/c/3fe801db90bdeefb0bbdda42d832846b53f64f8a
- stable/c/4c07680a467e2f7697245bcd11691bffb2a6f0ed