---
id: CVE-2026-98944
title: 'HID: steam: Refactor registration'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  HID: steam: Refactor registration

  This refactors and simplifies the registration/unregistration flow. Since
  we now only perform registration when the client isn't open…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    3c2f97343d4df2a75747f4c79effa0587509888f
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    2b15e10aff95c78dbacc4fa32fa90c9098213e03
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    cf71a6ee1d4e36b8e65b81c064e2797a10247280
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    c06cf54fe99b8c6bcf2017bb076c0e3918608cea
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    6f9b740c31ba7e061b2ebb330d9a3d63f1358f29
  - Linux < 6.6.160
  - Linux < 6.12.113
  - Linux < 6.18.57
  - Linux < 7.2.11
  - Linux (all versions)
published: '2026-10-23'
updated: '2026-10-24'
sourceUpdated: '2026-10-24T14:09:35.524Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98944'
references:
  - url: 'https://git.kernel.org/stable/c/3c2f97343d4df2a75747f4c79effa0587509888f'
  - url: 'https://git.kernel.org/stable/c/2b15e10aff95c78dbacc4fa32fa90c9098213e03'
  - url: 'https://git.kernel.org/stable/c/cf71a6ee1d4e36b8e65b81c064e2797a10247280'
  - url: 'https://git.kernel.org/stable/c/c06cf54fe99b8c6bcf2017bb076c0e3918608cea'
  - url: 'https://git.kernel.org/stable/c/6f9b740c31ba7e061b2ebb330d9a3d63f1358f29'
tags:
  - cve.org
epss: 0.00209
epssPercentile: 0.10492
ingestedAt: '2026-10-23T13:24:55.559Z'
---

## Overview

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

HID: steam: Refactor registration

This refactors and simplifies the registration/unregistration flow. Since
we now only perform registration when the client isn't opened anymore, the
logic for handling that can be removed, and the rest of the function
streamlined.

We also remove the previous assumption that we have a serial number to show
we're registered, replacing it with a single purpose boolean.

In a previous refactor the code for unregistering a battery if later
registration steps failed was accidentally left out. As a result, a
lingering power_supply object could get left over after the steam object
was torn down. This is also fixed here.

## Affected

- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 3c2f97343d4df2a75747f4c79effa0587509888f`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 2b15e10aff95c78dbacc4fa32fa90c9098213e03`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cf71a6ee1d4e36b8e65b81c064e2797a10247280`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < c06cf54fe99b8c6bcf2017bb076c0e3918608cea`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 6f9b740c31ba7e061b2ebb330d9a3d63f1358f29`
- `Linux < 6.6.160`
- `Linux < 6.12.113`
- `Linux < 6.18.57`
- `Linux < 7.2.11`
- `Linux (all versions)`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
