---
id: CVE-2026-31650
title: 'mmc: vub300: fix use-after-free on disconnect'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  mmc: vub300: fix use-after-free on disconnect

  The vub300 driver maintains an explicit reference count for the
  controller and its driver data and the last reference can…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 117a9c589ce0cf68065c007a02fd94da01e1181a <
    4b5251eebc2b1dedbb33fedf1b1109fea161b846
  - >-
    Linux >= dcfdd698dc521c6046e9b80c16281575efb25d23 <
    ea7468f61be033f4e18b95f2912010ed1d175d75
  - >-
    Linux >= dcfdd698dc521c6046e9b80c16281575efb25d23 <
    ef0448c569b37ceabdd038e9faa311e5179127b0
  - >-
    Linux >= dcfdd698dc521c6046e9b80c16281575efb25d23 <
    8f4d20a710225ec7a565f6a0459862d3b1f32330
  - Linux 6.17
published: '2026-04-24'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T12:39:38.649Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31650'
references:
  - url: 'https://git.kernel.org/stable/c/4b5251eebc2b1dedbb33fedf1b1109fea161b846'
  - url: 'https://git.kernel.org/stable/c/ea7468f61be033f4e18b95f2912010ed1d175d75'
  - url: 'https://git.kernel.org/stable/c/ef0448c569b37ceabdd038e9faa311e5179127b0'
  - url: 'https://git.kernel.org/stable/c/8f4d20a710225ec7a565f6a0459862d3b1f32330'
tags:
  - cve.org
epss: 0.00168
epssPercentile: 0.05819
ingestedAt: '2026-10-21T12:48:53.660Z'
---

## Overview

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

mmc: vub300: fix use-after-free on disconnect

The vub300 driver maintains an explicit reference count for the
controller and its driver data and the last reference can in theory be
dropped after the driver has been unbound.

This specifically means that the controller allocation must not be
device managed as that can lead to use-after-free.

Note that the lifetime is currently also incorrectly tied the parent USB
device rather than interface, which can lead to memory leaks if the
driver is unbound without its device being physically disconnected (e.g.
on probe deferral).

Fix both issues by reverting to non-managed allocation of the controller.

## Affected

- `Linux >= 117a9c589ce0cf68065c007a02fd94da01e1181a < 4b5251eebc2b1dedbb33fedf1b1109fea161b846`
- `Linux >= dcfdd698dc521c6046e9b80c16281575efb25d23 < ea7468f61be033f4e18b95f2912010ed1d175d75`
- `Linux >= dcfdd698dc521c6046e9b80c16281575efb25d23 < ef0448c569b37ceabdd038e9faa311e5179127b0`
- `Linux >= dcfdd698dc521c6046e9b80c16281575efb25d23 < 8f4d20a710225ec7a565f6a0459862d3b1f32330`
- `Linux 6.17`

## Remediation

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