CVEvulnerability

CVE-2024-56694

5.5 MEDIUM Published 2024-12-28 Modified 2026-08-04 Official page ↗
Status
Modified
Published
2024-12-28
Last modified
2026-08-04
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
7.5 HIGH — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-667

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 configurations

• linux linux kernel (>= 5.10.223 < 5.11) • linux linux kernel (>= 5.15.159 < 5.15.174) • linux linux kernel (>= 6.1.91 < 6.1.120) • linux linux kernel (>= 6.6.31 < 6.6.64) • linux linux kernel (>= 6.8.10 < 6.11.11) • linux linux kernel (>= 6.12 < 6.12.2)

Related

Weakness · CWE (1)

  • CWE-667 Improper Locking weakness

References