---
id: CVE-2026-43056
title: 'net: mana: fix use-after-free in add_adev() error path'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: mana: fix use-after-free in add_adev() error path

  If auxiliary_device_add() fails, add_adev() jumps to add_fail and calls
  auxiliary_device_uninit(adev).

  The auxi…
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'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f <
    d88541ffd56d62a61e77209080001eddd4d69815
  - >-
    Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f <
    43f5b19fd190fea20d052bc84741b28031d5baa9
  - >-
    Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f <
    5f4061f8225d18695e5afe9bbf1cb7bd673d7872
  - >-
    Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f <
    e5a75bf026c686b91a7dc6f9c5caf5016745d1fe
  - >-
    Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f <
    c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70f
  - Linux 6.2
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T15:14:07.416746Z'
published: '2026-05-01'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:20:30.592Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-43056'
references:
  - url: 'https://git.kernel.org/stable/c/d88541ffd56d62a61e77209080001eddd4d69815'
  - url: 'https://git.kernel.org/stable/c/43f5b19fd190fea20d052bc84741b28031d5baa9'
  - url: 'https://git.kernel.org/stable/c/5f4061f8225d18695e5afe9bbf1cb7bd673d7872'
  - url: 'https://git.kernel.org/stable/c/e5a75bf026c686b91a7dc6f9c5caf5016745d1fe'
  - url: 'https://git.kernel.org/stable/c/c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70f'
tags:
  - cve.org
epss: 0.0017
epssPercentile: 0.05948
ingestedAt: '2026-10-16T17:24:46.679Z'
---

## Overview

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

net: mana: fix use-after-free in add_adev() error path

If auxiliary_device_add() fails, add_adev() jumps to add_fail and calls
auxiliary_device_uninit(adev).

The auxiliary device has its release callback set to adev_release(),
which frees the containing struct mana_adev. Since adev is embedded in
struct mana_adev, the subsequent fall-through to init_fail and access
to adev->id may result in a use-after-free.

Fix this by saving the allocated auxiliary device id in a local
variable before calling auxiliary_device_add(), and use that saved id
in the cleanup path after auxiliary_device_uninit().

## Affected

- `Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f < d88541ffd56d62a61e77209080001eddd4d69815`
- `Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f < 43f5b19fd190fea20d052bc84741b28031d5baa9`
- `Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f < 5f4061f8225d18695e5afe9bbf1cb7bd673d7872`
- `Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f < e5a75bf026c686b91a7dc6f9c5caf5016745d1fe`
- `Linux >= a69839d4327d053b18d8e1b0e7ddeee78db78f4f < c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70f`
- `Linux 6.2`

## Remediation

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