CVE-2024-57903

net: restrict SO_REUSEPORT to inet sockets

MEDIUM
5.5
CVSS Score
Published: January 15, 2025 at 01:05 PM UTC
Updated: June 17, 2026 at 08:14 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: net: restrict SO_REUSEPORT to inet sockets After blamed commit, crypto sockets could accidentally be destroyed from RCU call back, as spotted by zyzbot [1]. Trying to acquire a mutex in RCU callback is not allowed. Restrict SO_REUSEPORT socket option to inet sockets. v1 of this patch supported TCP, UDP and SCTP sockets, but fcnal-test.sh test needed RAW and ICMP support. [1] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:562 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 24, name: ksoftirqd/1 preempt_count: 100, expected: 0 RCU nest depth: 0, expected: 0 1 lock held by ksoftirqd/1/24: #0: ffffffff8e937ba0 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #0: ffffffff8e937ba0 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2561 [inline] #0: ffffffff8e937ba0 (rcu_callback){....}-{0:0}, at: rcu_core+0xa37/0x17a0 kernel/rcu/tree.c:2823 Preemption disabled at: [<ffffffff8161c8c8>] softirq_handle_begin kernel/softirq.c:402 [inline] [<ffffffff8161c8c8>] handle_softirqs+0x128/0x9b0 kernel/softirq.c:537 CPU: 1 UID: 0 PID: 24 Comm: ksoftirqd/1 Not tainted 6.13.0-rc3-syzkaller-00174-ga024e377efed #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 __might_resched+0x5d4/0x780 kernel/sched/core.c:8758 __mutex_lock_common kernel/locking/mutex.c:562 [inline] __mutex_lock+0x131/0xee0 kernel/locking/mutex.c:735 crypto_put_default_null_skcipher+0x18/0x70 crypto/crypto_null.c:179 aead_release+0x3d/0x50 crypto/algif_aead.c:489 alg_do_release crypto/af_alg.c:118 [inline] alg_sock_destruct+0x86/0xc0 crypto/af_alg.c:502 __sk_destruct+0x58/0x5f0 net/core/sock.c:2260 rcu_do_batch kernel/rcu/tree.c:2567 [inline] rcu_core+0xaaa/0x17a0 kernel/rcu/tree.c:2823 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561 run_ksoftirqd+0xca/0x130 kernel/softirq.c:950 smpboot_thread_fn+0x544/0xa30 kernel/smpboot.c:164 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK>

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 4.14.148v ≥ 4.19.78v ≥ 4.9.196v ≥ 5.2.20v ≥ 5.3.54.14.148 ≤ v < 4.154.19.78 ≤ v < 4.204.9.196 ≤ v < 4.105.16 ≤ v < 6.1.1245.2.20 ≤ v < 5.35.3.5 ≤ v < 5.45.4 ≤ v < 5.15.1765.4 ≤ v < 6.1.1245.4 ≤ v < 6.12.95.4 ≤ v < 6.135.4 ≤ v < 6.6.705.4.1 ≤ v < 5.15.1766.2 ≤ v < 6.6.706.7 ≤ v < 6.12.91e24f532c736b3f99f3fe7c4be66414c40df5f024.14.1484.19.784.9.1965.2.205.3.55.45.4 rc25.4 rc35.4 rc45.4 rc55.4 rc65.4 rc75.4 rc850b26ba8938f1741523ca733aa9a548a12b6edd66.13 rc16.13 rc26.13 rc36.13 rc46.13 rc562241d6d9e497ad16372b74d2afa3340128e8e577e2777fd4816cdf6bff5de9e5221514f36dddfbf8c7138b33e5c690c308b2a7085f6313fdcb3f616d5b1db1c7ce4198bbbd51160350bdd446c8ed2ba
Vendor states this is fixed in 3257813a3ae7462ac5cde04e120806f0c0776850 (fixed)
Vendor states this is fixed in 579cfa595af1e00ccc9c3a849a4add6bba8b4bad (fixed)
Vendor states this is fixed in 5b0af621c3f6ef9261cf6067812f2fd9943acb4b (fixed)
Vendor states this is fixed in ad2ad4cd11af9d63187cd074314b71b7cf8a2a59 (fixed)
Vendor states this is fixed in ad91a2dacbf8c26a446658cdd55e8324dfeff1e7 (fixed)
Affected range stops below 4.10, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.15, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.20, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.15.176 (unaffected)
Affected range stops below 5.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.4 (unaffected)
Vendor states this is fixed in 6.1.124 (unaffected)
Vendor states this is fixed in 6.12.9 (unaffected)
Vendor states this is fixed in 6.13 (unaffected)
Vendor states this is fixed in 6.6.70 (unaffected)

References (6)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3257813a3ae7462ac5cde04e120806f0c0776850
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/579cfa595af1e00ccc9c3a849a4add6bba8b4bad
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5b0af621c3f6ef9261cf6067812f2fd9943acb4b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ad2ad4cd11af9d63187cd074314b71b7cf8a2a59
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ad91a2dacbf8c26a446658cdd55e8324dfeff1e7
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card