---
id: CVE-2026-98758
title: 'usb: typec: ucsi: glink: fix use-after-free of ucsi on remove'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  usb: typec: ucsi: glink: fix use-after-free of ucsi on remove

  The pmic_glink client is released by the devres cleanup, which runs
  after pmic_glink_ucsi_remove() has re…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad <
    432b58cd959e594909a581b4974396cdbc9d4ca1
  - >-
    Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad <
    41934f92e7a54d4080ac0b17aacc83224946785c
  - >-
    Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad <
    ee8577de01c6b6c7dd1d76b52242c54d37a989f4
  - >-
    Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad <
    63b269ec537dc0fd26d0bd64872c26860d108c9d
  - Linux 6.4
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:47:46.209Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98758'
references:
  - url: 'https://git.kernel.org/stable/c/432b58cd959e594909a581b4974396cdbc9d4ca1'
  - url: 'https://git.kernel.org/stable/c/41934f92e7a54d4080ac0b17aacc83224946785c'
  - url: 'https://git.kernel.org/stable/c/ee8577de01c6b6c7dd1d76b52242c54d37a989f4'
  - url: 'https://git.kernel.org/stable/c/63b269ec537dc0fd26d0bd64872c26860d108c9d'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.497Z'
---

## Overview

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

usb: typec: ucsi: glink: fix use-after-free of ucsi on remove

The pmic_glink client is released by the devres cleanup, which runs
after pmic_glink_ucsi_remove() has returned, so its notification
callbacks can queue work until then. Work that runs after
ucsi_unregister() has been called touches freed state: it dereferences
the connector array that ucsi_unregister() freed, or registers and
unregisters the instance a second time.

Disable both work items with disable_work_sync() before unregistering,
and unregister only if the instance is still registered.

This issue was found by an in-house static analysis tool.

## Affected

- `Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad < 432b58cd959e594909a581b4974396cdbc9d4ca1`
- `Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad < 41934f92e7a54d4080ac0b17aacc83224946785c`
- `Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad < ee8577de01c6b6c7dd1d76b52242c54d37a989f4`
- `Linux >= 62b5412b1f4afab27d8df90ddcabb8e1e11a00ad < 63b269ec537dc0fd26d0bd64872c26860d108c9d`
- `Linux 6.4`

## Remediation

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