PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-46079 Linux CVE debrief

A null-pointer dereference vulnerability exists in the Linux kernel's RBD (RADOS Block Device) driver. The flaw occurs in the error handling path of `do_rbd_add()` when `device_add_disk()` fails after `device_add()` has already succeeded. In this scenario, `rbd_free_disk()` is called twice—once directly in the error path and again through `rbd_dev_device_release()`—leading to a double teardown that corrupts blk-mq state and triggers a null-pointer dereference in `__blk_mq_free_map_and_rqs()` during `blk_mq_free_tag_set()` cleanup. The vulnerability was identified by an experimental kernel memory-management analysis tool and reproduced on kernel v7.0 with KASAN and CONFIG_FAILSLAB enabled, using failslab injection confined to the `__add_disk()` range during RBD image mapping. The fix ensures proper teardown ordering by calling `device_del()` before `rbd_dev_device_release()` when `device_add_disk()` fails, preventing the re-entrant disk cleanup path.

Vendor
Linux
Product
Unknown
CVSS
MEDIUM 5.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-27
Original CVE updated
2026-06-24
Advisory published
2026-05-27
Advisory updated
2026-06-24

Who should care

Organizations running Linux kernels with RBD/Ceph storage configurations, particularly those in virtualized or cloud environments where block device hot-add operations may fail under resource pressure. Kernel maintainers and distribution security teams should prioritize backporting the stable fixes.

Technical summary

The RBD driver's `do_rbd_add()` function publishes the device via `device_add()` before attempting `device_add_disk()`. If the latter fails, the error handling incorrectly invokes `rbd_free_disk()` directly and then falls through to `rbd_dev_device_release()`, which calls `rbd_free_disk()` again. This double invocation leaves blk-mq tag set cleanup operating on invalid state, causing a null-pointer dereference in `__blk_mq_free_map_and_rqs()`. The fix reorders cleanup to call `device_del()` before `rbd_dev_device_release()`, ensuring the teardown sequence remains consistent and preventing re-entrant disk cleanup.

Defensive priority

medium

Recommended defensive actions

  • Apply the stable kernel patches referenced in the source commits to affected systems running RBD with Ceph storage backends.
  • Prioritize patching on systems where RBD image mapping operations may encounter resource exhaustion or failure conditions that could trigger the vulnerable error path.
  • Monitor kernel logs for KASAN reports or general protection faults in `__blk_mq_free_map_and_rqs()` or `blk_mq_free_tag_set()` as potential indicators of exploitation attempts or accidental triggering.
  • Consider enabling KASAN in testing environments to detect similar use-after-free or double-free conditions in block device drivers.

Evidence notes

The vulnerability description and fix details are sourced from the official CVE record and NVD entry. The commit references provided in the source item link to kernel.org stable tree commits containing the patch. The reproduction details—including KASAN stack trace, QEMU x86_64 guest environment, Ceph backend, and failslab injection methodology—are taken directly from the CVE description. No CVSS score or severity rating is currently assigned by NVD (status: Awaiting Analysis).

Sources and references

Verified primary and authoritative sources

  • CVE-2026-46079 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-46079

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-46079 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-46079

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/059fb7656723c1b77c2fc0e64b7aa99d6bb65e8e

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/2f4809a879f0750c7790bbeeae86c9505797a06f

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/564cd8f4aeb9a938e470c5c91922fd02e4d41acc

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/ad0126ffcba8777109852979eaaa6dca6703abdb

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/d1fef92e414433ca7b89abf85cb0df42b8d475eb

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.