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

  usb: typec: qcom-pmic-typec: disable cc_debounce_dwork on stop

  cc_debounce_dwork is queued from the set_cc() and start_toggling()
  callbacks, which run from TCPM's kthr…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  usb: typec: qcom-pmic-typec: disable cc_debounce_dwork on stop

  cc_debounce_dwork is queued from the set_cc() and start_toggling()
  callbacks, which run from TCPM's kthr…
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'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a4422ff221429c600c3dc5d0394fb3738b89d040 <
    4359b5f95c93a4658e08368fa6fab9d89eb98447
  - >-
    Linux >= a4422ff221429c600c3dc5d0394fb3738b89d040 <
    c614d7c44ca7fb78867ba46b233acdb59287e8c8
  - >-
    Linux >= a4422ff221429c600c3dc5d0394fb3738b89d040 <
    1ab669c2b44e1040ddfab7cd7f717aad580d17aa
  - >-
    Linux >= a4422ff221429c600c3dc5d0394fb3738b89d040 <
    263f7d61a4201cde16849b2d016251806e7418be
  - Linux 6.5
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:26.043'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90027'
references:
  - url: 'https://git.kernel.org/stable/c/1ab669c2b44e1040ddfab7cd7f717aad580d17aa'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/263f7d61a4201cde16849b2d016251806e7418be'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4359b5f95c93a4658e08368fa6fab9d89eb98447'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c614d7c44ca7fb78867ba46b233acdb59287e8c8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.938Z'
epss: 0.00175
epssPercentile: 0.06165
---

## Overview

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

usb: typec: qcom-pmic-typec: disable cc_debounce_dwork on stop

cc_debounce_dwork is queued from the set_cc() and start_toggling()
callbacks, which run from TCPM's kthread worker.  port_stop() returns
before tcpm_unregister_port() destroys that worker.  Flushing the worker
during unregister may therefore run a callback which queues the delayed
work after port_stop() has returned.

The delayed work can then run after devres has freed pmic_typec_port.

Use disable_delayed_work_sync() in port_stop() to cancel a pending
instance and prevent the TCPM callbacks from queueing another one.

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

## Remediation

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