CVE-2021-47130CWE-770denial-of-service

CVE-2021-47130

High · published March 16, 2024

CVSS v3.1
7.5
EPSS
1%
Percentile
50.0
In the wild
Unconfirmed
What it is

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

nvmet: fix freeing unallocated p2pmem

In case p2p device was found but the p2p pool is empty, the nvme target

is still trying to free the sgl from the p2p pool instead of the

regular sgl pool and causing a crash (BUG() is called). Instead, assign

the p2p_dev for the request only if it was allocated from p2p pool.

This is the crash that was caused:

[Sun May 30 19:13:53 2021] ------------[ cut here ]------------

[Sun May 30 19:13:53 2021] kernel BUG at lib/genalloc.c:518!

[Sun May 30 19:13:53 2021] invalid opcode: 0000 [#1] SMP PTI

...

[Sun May 30 19:13:53 2021] kernel BUG at lib/genalloc.c:518!

...

[Sun May 30 19:13:53 2021] RIP: 0010:gen_pool_free_owner+0xa8/0xb0

...

[Sun May 30 19:13:53 2021] Call Trace:

[Sun May 30 19:13:53 2021] ------------[ cut here ]------------

[Sun May 30 19:13:53 2021] pci_free_p2pmem+0x2b/0x70

[Sun May 30 19:13:53 2021] pci_p2pmem_free_sgl+0x4f/0x80

[Sun May 30 19:13:53 2021] nvmet_req_free_sgls+0x1e/0x80 [nvmet]

[Sun May 30 19:13:53 2021] kernel BUG at lib/genalloc.c:518!

[Sun May 30 19:13:53 2021] nvmet_rdma_release_rsp+0x4e/0x1f0 [nvmet_rdma]

[Sun May 30 19:13:53 2021] nvmet_rdma_send_done+0x1c/0x60 [nvmet_rdma]

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00639 · 50.0th percentile
Weakness
CWE-770 · Allocation of Resources Without Limits or Throttling
Published
2024-03-16T01:15Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 5.8, < 5.10.435.10.43
linux/linux_kernel≥ 5.11, < 5.12.105.12.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 15 MAR 20:14Z
    nvmet: fix freeing unallocated p2pmem
    cvelistv5