CVE-2026-64273
Received Received - Intake

Heap-based Buffer Overflow in Linux Kernel Force Feedback Subsystem

Vulnerability report for CVE-2026-64273, 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: Input: iforce - bound the device-reported force-feedback effect index iforce_process_packet() handles a status report (packet id 0x02) by taking a force-feedback effect index straight from the device wire and using it to address the per-effect state array: i = data[1] & 0x7f; if (data[1] & 0x80) { if (!test_and_set_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) ... } else if (test_and_clear_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) { ... } The index is masked only with 0x7f, so it ranges 0..127, but core_effects[] holds only IFORCE_EFFECTS_MAX (32) entries. For an index of 32..127 the test_and_set_bit()/test_and_clear_bit() is an out-of-bounds single-bit read-modify-write past the array. core_effects[] is the second-to-last member of struct iforce, so the write lands in the trailing members and beyond the embedding kzalloc()'d iforce_serio / iforce_usb object. data[1] is unvalidated device payload on both transports (the USB interrupt endpoint and serio), and the status path is not gated on force feedback being present, so a malicious or counterfeit device can set or clear a bit at an attacker-chosen offset past the object. Reject an out-of-range index instead of indexing with it. Bound against the array dimension IFORCE_EFFECTS_MAX rather than dev->ff->max_effects so the check guarantees memory safety regardless of how many effects the device registered. A legitimate "effect started/stopped" status always carries an index below IFORCE_EFFECTS_MAX, so well-formed devices are unaffected; the neighbouring mark_core_as_ready() loop is already bounded and is left untouched.

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 in the Linux kernel involves a buffer overflow in the iforce driver's force-feedback effect handling. The driver reads an index from a device without proper validation, allowing an attacker to access memory outside the intended array bounds. This occurs because the index is masked with 0x7f (allowing values 0-127) but the array only has 32 entries. Malicious devices can exploit this to write to arbitrary memory locations.

Detection Guidance

This vulnerability is specific to the Linux kernel's iforce driver handling force-feedback devices. Detection requires checking kernel logs for out-of-bounds access errors or system crashes related to iforce devices. Monitor dmesg for errors like 'iforce: out-of-bounds access' or kernel oopses involving iforce.

Impact Analysis

If you use a Linux system with the affected iforce driver, an attacker with physical access to a malicious input device (like a counterfeit joystick) could potentially execute arbitrary code, escalate privileges, or cause system crashes. This requires the malicious device to be connected to your system.

Mitigation Strategies

Apply the Linux kernel patch that bounds the device-reported force-feedback effect index. Update to a kernel version containing the fix. If immediate patching is not possible, disable the iforce driver module (rmmod iforce) to prevent exploitation until patched.

Chat Assistant

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

EPSS Chart