All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-68403: wifi: brcmfmac: initialize SDIO data work before cleanup
Date: Mon, 10 Aug 2026 14:02:00 +0200	[thread overview]
Message-ID: <2026081048-CVE-2026-68403-925b@gregkh> (raw)

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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

wifi: brcmfmac: initialize SDIO data work before cleanup

brcmf_sdio_probe() stores the newly allocated bus in sdiodev->bus before
allocating the ordered workqueue. If that allocation fails, the function
jumps to fail and calls brcmf_sdio_remove().

brcmf_sdio_remove() unconditionally cancels bus->datawork. Initialize the
work item before the first failure path that can reach brcmf_sdio_remove(),
so the cleanup path always observes a valid work object.

This issue was found by our static analysis tool and then confirmed by
manual review of the probe error path and the remove-time work drain. The
problem pattern is an early setup failure that reaches a cleanup helper
which cancels an embedded work item before its initializer has run.

A QEMU PoC forced alloc_ordered_workqueue() to fail at the same point in
brcmf_sdio_probe(), before INIT_WORK(&bus->datawork) is reached. The
resulting fail path calls brcmf_sdio_remove(), and DEBUG_OBJECTS reports
the invalid work drain with brcmf_sdio_probe() and brcmf_sdio_remove() in
the stack.

The Linux kernel CVE team has assigned CVE-2026-68403 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 4.1 with commit 9982464379e81ece51ced03ebecbbcd34ea367a6 and fixed in 6.6.148 with commit f50a2b9e57a751e70ae9a272875d80d39eaccd6a
	Issue introduced in 4.1 with commit 9982464379e81ece51ced03ebecbbcd34ea367a6 and fixed in 6.12.101 with commit 6bd21ec8549a5854dd64204a66289952917a924c
	Issue introduced in 4.1 with commit 9982464379e81ece51ced03ebecbbcd34ea367a6 and fixed in 6.18.42 with commit 5c342437ea44bb829680ca9e4f683dd5b325b219
	Issue introduced in 4.1 with commit 9982464379e81ece51ced03ebecbbcd34ea367a6 and fixed in 7.1.6 with commit c73c3fc1c7ca5a927639f0884624cb244ba791e4
	Issue introduced in 4.1 with commit 9982464379e81ece51ced03ebecbbcd34ea367a6 and fixed in 7.2-rc4 with commit 2a665946e0407a05a3f81bd56a08553c446498e0

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-68403
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/f50a2b9e57a751e70ae9a272875d80d39eaccd6a
	https://git.kernel.org/stable/c/6bd21ec8549a5854dd64204a66289952917a924c
	https://git.kernel.org/stable/c/5c342437ea44bb829680ca9e4f683dd5b325b219
	https://git.kernel.org/stable/c/c73c3fc1c7ca5a927639f0884624cb244ba791e4
	https://git.kernel.org/stable/c/2a665946e0407a05a3f81bd56a08553c446498e0

                 reply	other threads:[~2026-08-10 12:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026081048-CVE-2026-68403-925b@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=cve@kernel.org \
    --cc=gregkh@kernel.org \
    --cc=linux-cve-announce@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.