---
id: CVE-2026-98772
title: 'USB: serial: fix port tear down use-after-free'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  USB: serial: fix port tear down use-after-free

  Some drivers for multiport devices access port driver data from
  completion handlers of shared URBs submitted at attach()…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 <
    60cc9379c3e650d1ebfba4de63f1242537a62a32
  - >-
    Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 <
    5e8980a81af195c49084be5b4c031085b56c7443
  - >-
    Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 <
    e80ee74206f260eb1282e7d1339ff146a4a410d0
  - >-
    Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 <
    33c920f7c5952dfc42d1b8ea6efe16b1f0bb0c5b
  - Linux 2.6.30
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:48:08.184Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98772'
references:
  - url: 'https://git.kernel.org/stable/c/60cc9379c3e650d1ebfba4de63f1242537a62a32'
  - url: 'https://git.kernel.org/stable/c/5e8980a81af195c49084be5b4c031085b56c7443'
  - url: 'https://git.kernel.org/stable/c/e80ee74206f260eb1282e7d1339ff146a4a410d0'
  - url: 'https://git.kernel.org/stable/c/33c920f7c5952dfc42d1b8ea6efe16b1f0bb0c5b'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.492Z'
---

## Overview

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

USB: serial: fix port tear down use-after-free

Some drivers for multiport devices access port driver data from
completion handlers of shared URBs submitted at attach() or first open()
and stopped at disconnect() or last close(), respectively.

A simple NULL check before accessing the driver data makes sure that a
port state container has at least been allocated, but a completion
handler can still race with port tear down.

Reorder the disconnect handling so that ports are not deregistered (and
their driver data freed) until after all ports have been hung up and the
driver disconnect() callback has run so that all I/O has been stopped.

## Affected

- `Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 < 60cc9379c3e650d1ebfba4de63f1242537a62a32`
- `Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 < 5e8980a81af195c49084be5b4c031085b56c7443`
- `Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 < e80ee74206f260eb1282e7d1339ff146a4a410d0`
- `Linux >= 2d93148ab6988cad872e65d694c95e8944e1b626 < 33c920f7c5952dfc42d1b8ea6efe16b1f0bb0c5b`
- `Linux 2.6.30`

## Remediation

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