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

  mtd: docg3: fix use-after-free in docg3_release()

  In docg3_release(), the docg3 pointer is obtained from
  cascade->floors[0]->priv before the loop that calls
  doc_releas…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  mtd: docg3: fix use-after-free in docg3_release()

  In docg3_release(), the docg3 pointer is obtained from
  cascade->floors[0]->priv before the loop that calls
  doc_releas…
severity: none
published: '2026-06-08'
updated: '2026-07-07'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-46285'
references:
  - url: 'https://git.kernel.org/stable/c/16f6588a3b7a2a20d10ad9b766be74c60ba347cc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2bf706fe7831b319f23a85b9728f961cfed40c3e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8408655ec8344511667b61d8257dc59c80ee3391'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ca19808bc6fac7e29420d8508df569b346b3e339'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d26f8c361f751c188b7ebaf8189aa0258968fd98'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d49628d63d4e6bbc8a1621afb88e5fc901611bee'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d89044889ecd11b0c2f86663597246e9bdd25679'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f5d2ed4ed47d3906e2495a3537a48b127f497a17'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00126
epssPercentile: 0.02597
ingestedAt: '2026-07-07T18:42:24.282Z'
---

## Overview

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

mtd: docg3: fix use-after-free in docg3_release()

In docg3_release(), the docg3 pointer is obtained from
cascade->floors[0]->priv before the loop that calls
doc_release_device() on each floor. doc_release_device() frees the
docg3 struct via kfree(docg3) at line 1881. After the loop,
docg3->cascade->bch dereferences the already-freed pointer.

Fix this by accessing cascade->bch directly, which is equivalent
since docg3->cascade points back to the same cascade struct, and
is already available as a local variable. This also removes the
now-unused docg3 local variable.

## Remediation

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