CVE Catalog

CVE-2022-48846

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel block subsystem, blkcg_init_queue() may add rq qos structures to a request queue, but blk_cleanup_queue() does not release them when the queue has no disk (e.g., un-present SCSI LUNs, NVMe admin queue). This causes a memory leak.

Risk Assessment

Kernel memory leak may lead to gradual resource exhaustion and system destabilization. In extreme cases, this may cause denial of service.

Recommendation

Update the Linux kernel to a version containing the fix that restores rq_qos_exit() in blk_cleanup_queue(). System update is recommended.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: block: release rq qos structures for queue without disk blkcg_init_queue() may add rq qos structures to request queue, previously blk_cleanup_queue() calls rq_qos_exit() to release them, but commit 8e141f9eb803 ("block: drain file system I/O on del_gendisk") moves rq_qos_exit() into del_gendisk(), so memory leak is caused because queues may not have disk, such as un-present scsi luns, nvme admin queue, ... Fixes the issue by adding rq_qos_exit() to blk_cleanup_queue() back. BTW, v5.18 won't need this patch any more since we move blkcg_init_queue()/blkcg_exit_queue() into disk allocation/release handler, and patches have been in for-5.18/block.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS