CVE-2026-64504
Received Received - Intake

Buffer Overflow in BMC150 Accelerometer Driver

Vulnerability report for CVE-2026-64504, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-25

Last updated on: 2026-07-25

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: iio: accel: bmc150: clamp the device-reported FIFO frame count __bmc150_accel_fifo_flush() copies the number of samples the device reports in its hardware FIFO into an on-stack buffer u16 buffer[BMC150_ACCEL_FIFO_LENGTH * 3]; which is sized for at most BMC150_ACCEL_FIFO_LENGTH (32) samples. The frame count is read from the FIFO_STATUS register and only masked to its 7 valid bits: count = val & 0x7F; so it can be 0..127. The only other limit applied to it is the optional caller-supplied sample budget: if (samples && count > samples) count = samples; which does not constrain count on the flush-all path (samples == 0), and leaves it well above 32 whenever samples is larger. count samples are then transferred into buffer[]: bmc150_accel_fifo_transfer(data, (u8 *)buffer, count); bmc150_accel_fifo_transfer() reads count * 6 bytes through regmap, so a malfunctioning, malicious or counterfeit accelerometer (or an attacker tampering with the I2C/SPI bus) that reports up to 127 frames writes up to 762 bytes into the 192-byte buffer: a stack out-of-bounds write of up to 570 bytes that clobbers the stack canary, saved registers and the return address. Clamp count to BMC150_ACCEL_FIFO_LENGTH, the number of samples buffer[] is sized for, before the transfer, mirroring the watermark clamp already done in bmc150_accel_set_watermark(). A well-formed flush reports at most BMC150_ACCEL_FIFO_LENGTH frames, so legitimate devices are unaffected.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-25
Last Modified
2026-07-25
Generated
2026-07-25
AI Q&A
2026-07-25
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is in the Linux kernel's IIO accelerometer driver for the BMC150 sensor. It involves a stack-based buffer overflow when processing FIFO frame counts from the device. The driver reads a frame count from the sensor's register, which can be up to 127, but the buffer is only sized for 32 samples. This allows an attacker to write up to 570 extra bytes into the stack, potentially overwriting critical data like the stack canary, saved registers, or return address.

Detection Guidance

This vulnerability is specific to the Linux kernel's IIO accelerometer driver for BMC150 devices. Detection requires checking if your system uses the affected driver version. Inspect kernel logs for errors related to bmc150_accel or FIFO buffer issues. No direct network detection commands are applicable.

Impact Analysis

This vulnerability could allow an attacker with access to the I2C or SPI bus to execute arbitrary code on the system by triggering a stack overflow. This might lead to system crashes, privilege escalation, or complete compromise of the affected device. Legitimate devices are unaffected as they report at most 32 frames.

Mitigation Strategies

Update your Linux kernel to a patched version that includes the fix for this CVE. If you cannot update immediately, disable the bmc150_accel driver module if not in use. Monitor system logs for unusual activity related to accelerometer devices.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-64504. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart