PT-2023-9493 · Linux+5 · Linux Kernel+5

Daniel Vacek

·

Published

2023-12-12

·

Updated

2024-11-04

·

CVE-2023-52587

CVSS v3.1

5.5

Medium

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions Linux kernel versions prior to 4.18.0-372.75.1.el8 6
Description The vulnerability is related to the IB/ipoib component of the Linux kernel. It occurs when the priv->lock is released while iterating the priv->multicast list in ipoib mcast join task(), allowing ipoib mcast dev flush() to remove items during iteration. If the mcast is removed while the lock is dropped, the for loop spins forever, resulting in a hard lockup. This issue can be fixed by keeping the lock held and changing to GFP ATOMIC to prevent eventual sleeps.
Recommendations To resolve this issue, update the Linux kernel to a version that includes the fix for the IB/ipoib component, specifically the patch that addresses the mcast list locking issue. As a temporary workaround, consider disabling the ipoib mcast join task() function until a patch is available. However, this may have unintended consequences and should be carefully evaluated before implementation.

Exploit

Fix

Improper Locking

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

BDU:2024-07848
CVE-2023-52587
DLA-3840-1
DLA-3842-1
DSA-5658-1
DSA-5681-1
OESA-2024-1482
OESA-2024-1483
OESA-2024-1484
OESA-2024-1485
OESA-2024-1486
OESA-2024-1487
OPENSUSE-SU-2024_1322-1
OPENSUSE-SU-2024_1322-2
OPENSUSE-SU-2024_1332-1
OPENSUSE-SU-2024_1332-2
OPENSUSE-SU-2024_1466-1
OPENSUSE-SU-2024_1480-1
OPENSUSE-SU-2024_1490-1
SUSE-SU-2024:1466-1
SUSE-SU-2024:1480-1
SUSE-SU-2024:1490-1
SUSE-SU-2024:1643-1
SUSE-SU-2024:1646-1
SUSE-SU-2024:1870-1
USN-6688-1
USN-6765-1
USN-6766-1
USN-6766-2
USN-6766-3
USN-6767-1
USN-6767-2
USN-6795-1
USN-6818-1
USN-6818-2
USN-6818-3
USN-6818-4
USN-6819-1
USN-6819-2
USN-6819-3
USN-6819-4
USN-6828-1

Affected Products

Astra Linux
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu