CVE-2026-98426: wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path

Published Oct 14, 2026
·
Updated

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

wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path

mwifiexpcierequestirq() registers each MSI-X vector with a per-index devid (&card->msixctx[i]). On a requestirq() failure the cleanup loop "for (j = 0; j < i; j++)" frees msixentries[j].vector but passes the failed index's &card->msixctx[i] as the devid. freeirq() matches on (irq, devid), so it fails to find the action registered with &card->msixctx[j]: the already-requested IRQ j is not freed (leaked) and freeirq() warns about freeing a non-existent IRQ. Use &card->msixctx[j].

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Fix the mwifiex_pcie_request_irq() MSI-X error-path cleanup loop to call free_irq() with &card->msix_ctx[j] as the dev_id for each previously requested vector j, matching the per-index dev_id used by request_irq().

Event History

Oct 14, 2026
CVE Published
via MITRE·01:27 PM
Data Sourced
via MITRE·01:27 PM
Description

Frequently Asked Questions

1

When can this issue be triggered?

It occurs in the mwifiex PCIe driver's MSI-X error path when a request_irq() call fails after one or more MSI-X vectors have already been registered.

2

What is the practical impact of the faulty cleanup?

Previously registered IRQs are not freed because cleanup supplies the failed vector's dev_id instead of the dev_id associated with each earlier vector. The kernel also warns that it is freeing a non-existent IRQ.

3

How is the issue fixed?

The cleanup loop must call free_irq() with the per-vector dev_id for the IRQ being released, using &card->msix_ctx[j] rather than &card->msix_ctx[i].

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203