CVE-2026-64495

iio: gyro: bmg160: bail out when bandwidth/filter is not in table

N/A
Published: July 25, 2026 at 08:51 AM UTC
Updated: August 17, 2026 at 05:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: iio: gyro: bmg160: bail out when bandwidth/filter is not in table bmg160_get_filter() walks bmg160_samp_freq_table[] looking for the entry matching the bw_bits value read from the chip: for (i = 0; i < ARRAY_SIZE(bmg160_samp_freq_table); ++i) { if (bmg160_samp_freq_table[i].bw_bits == bw_bits) break; } *val = bmg160_samp_freq_table[i].filter; If no entry matches, i ends up equal to the array size and the next line reads one slot past the end. bmg160_set_filter() has the same shape, driven by 'val' instead of bw_bits. smatch flags both: drivers/iio/gyro/bmg160_core.c:204 bmg160_get_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 drivers/iio/gyro/bmg160_core.c:222 bmg160_set_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 Return -EINVAL when no entry matches. The set_filter() path is reachable from userspace via the sysfs in_anglvel_filter_low_pass_3db_frequency interface, so userspace can trivially trigger the out-of-bounds read with a value that is not in bmg160_samp_freq_table[].filter.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.18 ≤ v < 5.10.2613.18 ≤ v < 5.15.2123.18 ≤ v < 6.1.1783.18 ≤ v < 6.12.963.18 ≤ v < 6.18.393.18 ≤ v < 6.6.1453.18 ≤ v < 7.1.43.18 ≤ v < 7.222b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc3.18
Vendor states this is fixed in 029481cddb98697716f4bf3021d035eaf2ca0e1f (fixed)
Vendor states this is fixed in 1dc3a833be11e5d503038e3c701745fd0e03903c (fixed)
Vendor states this is fixed in 6c8675468862161d1c59130266852b66867d3861 (fixed)
Vendor states this is fixed in 77e56ebb1786f4296afd5fa46975a989b285ae65 (fixed)
Vendor states this is fixed in 7bbf02b63961fc1768c9c654392c11f2077d4c59 (fixed)
Vendor states this is fixed in 8320c77e67382d5d55d77043a5f60a867d408a2b (fixed)
Vendor states this is fixed in 8d202515baea4e2e3be448d1590099af28f2346d (fixed)
Vendor states this is fixed in d85ee50f58dd83fe74f6d0bf8bd345c657b216e8 (fixed)
Vendor states this is fixed in 3.18 (unaffected)
Vendor states this is fixed in 5.10.261 (unaffected)
Vendor states this is fixed in 5.15.212 (unaffected)
Vendor states this is fixed in 6.1.178 (unaffected)
Vendor states this is fixed in 6.12.96 (unaffected)
Vendor states this is fixed in 6.18.39 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.1.4 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card