---
id: CVE-2026-80923
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  xhci: dbgtty: Fix unregister on tty_register_driver() failure

  If tty_register_driver() fails, it drops the reference, but fails to set
  the global dbc_tty_driver to NUL…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  xhci: dbgtty: Fix unregister on tty_register_driver() failure

  If tty_register_driver() fails, it drops the reference, but fails to set
  the global dbc_tty_driver to NUL…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    01b7bc0938061f2fd46e0094f6483d8c6c02f7d3
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    43635ff6401ca0e0ed21875379eeded921321525
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    eaca2814f32b9872a332326324b9e83e01f156d2
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    943f976c93e70563b132f5585ff68b08c89641a2
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    0d0faf3cc44c4d86fc6faf5cea972c0fbe00b922
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    33ed35ca629477f57e0dd1d77d6df96cf5a9eb55
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    0e469b94fbba8eb03666da41dd1082b793c50c1a
  - >-
    Linux >= 4521f16139409cdf9462c7325d43454462cff6c3 <
    a916fa66a43e10f63198b6ce978badffc678821a
  - Linux 5.9
published: '2026-09-09'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T17:17:47.507'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-80923'
references:
  - url: 'https://git.kernel.org/stable/c/01b7bc0938061f2fd46e0094f6483d8c6c02f7d3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/0d0faf3cc44c4d86fc6faf5cea972c0fbe00b922'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/0e469b94fbba8eb03666da41dd1082b793c50c1a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/33ed35ca629477f57e0dd1d77d6df96cf5a9eb55'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/43635ff6401ca0e0ed21875379eeded921321525'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/943f976c93e70563b132f5585ff68b08c89641a2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a916fa66a43e10f63198b6ce978badffc678821a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/eaca2814f32b9872a332326324b9e83e01f156d2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-09T17:16:03.090Z'
epss: 0.00165
epssPercentile: 0.06102
---

## Overview

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

xhci: dbgtty: Fix unregister on tty_register_driver() failure

If tty_register_driver() fails, it drops the reference, but fails to set
the global dbc_tty_driver to NULL, causing the unregister to be called
again when module exits.

On module unload dbc_tty_exit() only gates its cleanup on the driver
pointer being non-NULL, so it operates on the already-freed driver:

    module_init(xhci_hcd_init)
      xhci_hcd_init()
        xhci_dbc_init()                       [return value ignored]
          dbc_tty_init()
            tty_register_driver() fails
              tty_driver_kref_put()           -> driver freed
              (dbc_tty_driver left dangling)
    ...
    module_exit(xhci_hcd_fini)
      xhci_hcd_fini()
        xhci_dbc_exit()
          dbc_tty_exit()
            if (dbc_tty_driver)               -> true (dangling)
              tty_unregister_driver()         -> use-after-free

## Remediation

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