---
id: "CVE-2026-99069"
kind: "vulnerability"
aliases: ["CVE-2026-99069"]
title: "Linux kernel: ati_remote2 sysfs handlers cast the wrong device type"
severity: "unknown"
cvss: null
epss: 0.00209
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["ati-remote2", "kernel", "linux", "package", "usb"]
not_affected_if: ["no-ati-remote2-driver"]
published_at: "2026-10-23T13:17:30+00:00"
first_seen_at: "2026-10-23T21:57:34+00:00"
updated_at: "2026-10-25T12:38:50+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-99069", "first_seen_at": "2026-10-23T21:57:34+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-99069", "first_seen_at": "2026-10-25T12:38:50+00:00"}]
---

# Linux kernel: ati_remote2 sysfs handlers cast the wrong device type

The ati_remote2 input driver's channel_mask and mode_mask sysfs attribute handlers treat a usb_interface device as a usb_device, producing an invalid pointer. The sources do not state what an attacker can get from this beyond the type confusion itself.

_Summary, check and fix written by a model from the sources; labelled as such._

## Timeline

- 2026-10-23T21:57:34+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-99069
- 2026-10-25T12:38:50+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-99069

## From the sources

In the Linux kernel, the following vulnerability has been resolved:

Input: ati_remote2 - fix type confusion in device attribute handlers

Previously, the channel_mask and mode_mask attributes were registered on
the parent usb_device via sysfs_create_group(). When commit b20d6bf8014b
("Input: ati-remote2 - use driver core to instantiate device
attributes") converted the driver to let the driver core manage them via
dev_groups in struct usb_driver, the attributes moved to the bound
usb_interface devices, but the show and store callbacks were not updated
accordingly.

As a result, the callbacks still invoked to_usb_device() on a device
pointer belonging to a struct usb_interface, producing an invalid
usb_device pointer.

Use to_usb_interface() directly in the attribute handlers to obtain the
interface and its driver data.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
