CVE-2021-47438CWE-401

CVE-2021-47438

High · published May 22, 2024

CVSS v3.1
7.1
EPSS
0%
Percentile
13.7
In the wild
Unconfirmed
What it is

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

net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path

Prior to this patch in case mlx5_core_destroy_cq() failed it returns

without completing all destroy operations and that leads to memory leak.

Instead, complete the destroy flow before return error.

Also move mlx5_debug_cq_remove() to the beginning of mlx5_core_destroy_cq()

to be symmetrical with mlx5_core_create_cq().

kmemleak complains on:

unreferenced object 0xc000000038625100 (size 64):

comm "ethtool", pid 28301, jiffies 4298062946 (age 785.380s)

hex dump (first 32 bytes):

60 01 48 94 00 00 00 c0 b8 05 34 c3 00 00 00 c0 `.H.......4.....

02 00 00 00 00 00 00 00 00 db 7d c1 00 00 00 c0 ..........}.....

backtrace:

[<000000009e8643cb>] add_res_tree+0xd0/0x270 [mlx5_core]

[<00000000e7cb8e6c>] mlx5_debug_cq_add+0x5c/0xc0 [mlx5_core]

[<000000002a12918f>] mlx5_core_create_cq+0x1d0/0x2d0 [mlx5_core]

[<00000000cef0a696>] mlx5e_create_cq+0x210/0x3f0 [mlx5_core]

[<000000009c642c26>] mlx5e_open_cq+0xb4/0x130 [mlx5_core]

[<0000000058dfa578>] mlx5e_ptp_open+0x7f4/0xe10 [mlx5_core]

[<0000000081839561>] mlx5e_open_channels+0x9cc/0x13e0 [mlx5_core]

[<0000000009cf05d4>] mlx5e_switch_priv_channels+0xa4/0x230

[mlx5_core]

[<0000000042bbedd8>] mlx5e_safe_switch_params+0x14c/0x300

[mlx5_core]

[<0000000004bc9db8>] set_pflag_tx_port_ts+0x9c/0x160 [mlx5_core]

[<00000000a0553443>] mlx5e_set_priv_flags+0xd0/0x1b0 [mlx5_core]

[<00000000a8f3d84b>] ethnl_set_privflags+0x234/0x2d0

[<00000000fd27f27c>] genl_family_rcv_msg_doit+0x108/0x1d0

[<00000000f495e2bb>] genl_family_rcv_msg+0xe4/0x1f0

[<00000000646c5c2c>] genl_rcv_msg+0x78/0x120

[<00000000d53e384e>] netlink_rcv_skb+0x74/0x1a0

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00235 · 13.7th percentile
Weakness
CWE-401 · Missing Release of Memory after Effective Lifetime
Published
2024-05-22T11:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 3.11, < 5.10.755.10.75
linux/linux_kernel≥ 5.11, < 5.14.145.14.14
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 22 MAY 06:19Z
    net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path
    cvelistv5