CVE-2024-56694

bpf: fix recursive lock when verdict program return SK_PASS

MEDIUM
5.5
CVSS Score
Published: December 28, 2024 at 09:46 AM UTC
Updated: August 5, 2026 at 12:44 PM 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.4%

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: fix recursive lock when verdict program return SK_PASS When the stream_verdict program returns SK_PASS, it places the received skb into its own receive queue, but a recursive lock eventually occurs, leading to an operating system deadlock. This issue has been present since v6.9. ''' sk_psock_strp_data_ready write_lock_bh(&sk->sk_callback_lock) strp_data_ready strp_read_sock read_sock -> tcp_read_sock strp_recv cb.rcv_msg -> sk_psock_strp_read # now stream_verdict return SK_PASS without peer sock assign __SK_PASS = sk_psock_map_verd(SK_PASS, NULL) sk_psock_verdict_apply sk_psock_skb_ingress_self sk_psock_skb_ingress_enqueue sk_psock_data_ready read_lock_bh(&sk->sk_callback_lock) <= dead lock ''' This topic has been discussed before, but it has not been fixed. Previous discussion: https://lore.kernel.org/all/[email protected]

Affected

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

v ≥ 6.8.105.10.223 ≤ v < 5.10.2335.10.223 ≤ v < 5.115.15.159 ≤ v < 5.15.1746.1.91 ≤ v < 6.1.1206.12 ≤ v < 6.12.26.6.31 ≤ v < 6.6.646.8.10 ≤ v < 6.11.116.8.10 ≤ v < 6.96.9 ≤ v < 6.11.116.9 ≤ v < 6.12.26.9 ≤ v < 6.1339dc9e1442385d6e9be0b6491ee488dddd55ae275.10.2235.15.1595965bc7535fb87510b724e5465ccc1a1cf00916d6.1.916.6.316.8.106.96648e613226e18897231ab5e42ffc29e63fa3365772d5729b5ff0df0d37b32db600ce635b2172f80b397a0ab8582c533ec0c6b732392f141fc364f87c0809c128dad4c3413818384eb06a341633db973
Vendor states this is fixed in 01f1b88acfd79103da0610b45471f6c88ea98d72 (fixed)
Vendor states this is fixed in 221109ba2127eabd0aa64718543638b58b15df56 (fixed)
Vendor states this is fixed in 386efa339e08563dd33e83bc951aea5d407fe578 (fixed)
Vendor states this is fixed in 6694f7acd625ed854bf6342926e771d65dad7f69 (fixed)
Vendor states this is fixed in 8ca2a1eeadf09862190b2810697702d803ceef2d (fixed)
Vendor states this is fixed in da2bc8a0c8f3ac66fdf980fc59936f851a083561 (fixed)
Vendor states this is fixed in f84c5ef6ca23cc2f72f3b830d74f67944684bb05 (fixed)
Vendor states this is fixed in 5.10.233 (unaffected)
Affected range stops below 5.11, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.15.174 (unaffected)
Vendor states this is fixed in 6.1.120 (unaffected)
Vendor states this is fixed in 6.11.11 (unaffected)
Vendor states this is fixed in 6.12.2 (unaffected)
Vendor states this is fixed in 6.13 (unaffected)
Vendor states this is fixed in 6.6.64 (unaffected)
Vendor states this is fixed in 6.9 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/01f1b88acfd79103da0610b45471f6c88ea98d72
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/386efa339e08563dd33e83bc951aea5d407fe578
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6694f7acd625ed854bf6342926e771d65dad7f69
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8ca2a1eeadf09862190b2810697702d803ceef2d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/da2bc8a0c8f3ac66fdf980fc59936f851a083561
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f84c5ef6ca23cc2f72f3b830d74f67944684bb05
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