CVE-2022-50064: virtio-blk: Avoid use-after-free on suspend/resume
In the Linux kernel, the following vulnerability has been resolved:
virtio-blk: Avoid use-after-free on suspend/resume
hctx->user_data is set to vq in virtblk_init_hctx(). However, vq is
freed on suspend and reallocated on resume. So, hctx->user_data is
invalid after resume, and it will cause use-after-free accessing which
will result in the kernel crash something like below:
[ 22.428391] Call Trace:
[ 22.428899] <TASK>
[ 22.429339] virtqueue_add_split+0x3eb/0x620
[ 22.430035] ? __blk_mq_alloc_requests+0x17f/0x2d0
[ 22.430789] ? kvm_clock_get_cycles+0x14/0x30
[ 22.431496] virtqueue_add_sgs+0xad/0xd0
[ 22.432108] virtblk_add_req+0xe8/0x150
[ 22.432692] virtio_queue_rqs+0xeb/0x210
[ 22.433330] blk_mq_flush_plug_list+0x1b8/0x280
[ 22.434059] __blk_flush_plug+0xe1/0x140
[ 22.434853] blk_finish_plug+0x20/0x40
[ 22.435512] read_pages+0x20a/0x2e0
[ 22.436063] ? folio_add_lru+0x62/0xa0
[ 22.436652] page_cache_ra_unbounded+0x112/0x160
[ 22.437365] filemap_get_pages+0xe1/0x5b0
[ 22.437964] ? context_to_sid+0x70/0x100
[ 22.438580] ? sidtab_context_to_sid+0x32/0x400
[ 22.439979] filemap_read+0xcd/0x3d0
[ 22.440917] xfs_file_buffered_read+0x4a/0xc0
[ 22.441984] xfs_file_read_iter+0x65/0xd0
[ 22.442970] __kernel_read+0x160/0x2e0
[ 22.443921] bprm_execve+0x21b/0x640
[ 22.444809] do_execveat_common.isra.0+0x1a8/0x220
[ 22.446008] __x64_sys_execve+0x2d/0x40
[ 22.446920] do_syscall_64+0x37/0x90
[ 22.447773] entry_SYSCALL_64_after_hwframe+0x63/0xcd
This patch fixes this issue by getting vq from vblk, and removes
virtblk_init_hctx().
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel bug in the virtio-blk storage driver. After suspend and resume, the driver can keep a stale pointer to a reallocated queue, causing a use-after-free and likely kernel crash. Business impact is mainly service instability or outage on affected Linux systems using virtio block devices.
Executive priority
Treat as an availability risk for affected virtualized Linux workloads, not as a confirmed breach-enabling issue. Patch through normal kernel maintenance, faster for systems where unexpected reboots or crashes carry business impact.
Technical view
virtblk_init_hctx() stores a virtqueue pointer in hctx->user_data. Suspend frees that virtqueue, and resume reallocates it, leaving hctx->user_data invalid. Later block I/O can dereference freed memory. The cited fix gets the virtqueue from vblk and removes virtblk_init_hctx().
Likely exposure
Exposure is most likely on Linux systems using virtio-blk storage with affected 5.19-era kernels and suspend/resume behavior. The source bundle does not identify affected distributions, appliances, or cloud images beyond Linux kernel version data.
Exploitation context
The source bundle describes a crash scenario and marks KEV as false. It provides no evidence of active exploitation, public exploit availability, remote reachability, privilege requirements, or data compromise.
Researcher notes
Evidence is limited to the CVE description and two upstream stable commits. There is no CVSS, CWE, exploit report, or distribution-specific fixed-version mapping in the supplied bundle, so validation should focus on kernel lineage and vendor backports.
Mitigation direction
Check Linux distribution and kernel vendor advisories for CVE-2022-50064.
Update to a kernel containing the referenced stable virtio-blk fixes.
Avoid suspend/resume on exposed virtio-blk systems until patched, where operationally feasible.
Prioritize systems where kernel crashes would affect production availability.
Validation and detection
Inventory Linux kernel versions and identify systems using virtio-blk storage.
Check whether kernels include either referenced stable commit or vendor backport.
Review kernel logs for virtio-blk crashes after suspend/resume events.
Confirm patch status through package changelogs or vendor CVE metadata.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-50064 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
3Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Jun 18, 2025, 11:02 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.