CVE-2024-56694CWE-667

CVE-2024-56694

High · published December 28, 2024

CVSS v3.1
7.5
EPSS
0%
Percentile
34.4
In the wild
Unconfirmed
What it is

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]

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00412 · 34.4th percentile
Weakness
CWE-667 · Improper Locking
Published
2024-12-28T15:15Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 5.10.223, < 5.115.11
linux/linux_kernel≥ 5.15.159, < 5.15.1745.15.174
linux/linux_kernel≥ 6.1.91, < 6.1.1206.1.120
linux/linux_kernel≥ 6.6.31, < 6.6.646.6.64
linux/linux_kernel≥ 6.8.10, < 6.11.116.11.11
linux/linux_kernel≥ 6.12, < 6.12.26.12.2
References (9)
EPSS history
Timeline
  • 28 DEC 09:46Z
    bpf: fix recursive lock when verdict program return SK_PASS
    cvelistv5