Description
In the Linux kernel, the following vulnerability has been resolved:
bpf, sockmap: Reject sk_msg egress redirects to non-TCP sockets
With a SOCKMAP/SOCKHASH map and an sk_msg program user can steer messages
sent from one TCP socket (s1) to actually egress from another TCP
socket (s2):
tcp_bpf_sendmsg(s1) // = sk_prot->sendmsg
tcp_bpf_send_verdict(s1) // __SK_REDIRECT case
tcp_bpf_sendmsg_redir(s2)
tcp_bpf_push_locked(s2)
tcp_bpf_push(s2)
tcp_rate_check_app_limited(s2) // expects tcp_sock
tcp_sendmsg_locked(s2) // ditto
There is a hard-coded assumption in the call-chain, that the egress
socket (s2) is a TCP socket.
However in commit 122e6c79efe1 ("sock_map: Update sock type checks for
UDP") we have enabled redirects to non-TCP sockets. This was done for the
sake of BPF sk_skb programs. There was no indention to support sk_msg
send-to-egress use case.
As a result, attempts to send-to-egress through a non-TCP socket lead to a
crash due to invalid downcast from sock to tcp_sock:
BUG: kernel NULL pointer dereference, address: 000000000000002f
...
Call Trace:
<TASK>
? show_regs+0x60/0x70
? __die+0x1f/0x70
? page_fault_oops+0x80/0x160
? do_user_addr_fault+0x2d7/0x800
? rcu_is_watching+0x11/0x50
? exc_page_fault+0x70/0x1c0
? asm_exc_page_fault+0x27/0x30
? tcp_tso_segs+0x14/0xa0
tcp_write_xmit+0x67/0xce0
__tcp_push_pending_frames+0x32/0xf0
tcp_push+0x107/0x140
tcp_sendmsg_locked+0x99f/0xbb0
tcp_bpf_push+0x19d/0x3a0
tcp_bpf_sendmsg_redir+0x55/0xd0
tcp_bpf_send_verdict+0x407/0x550
tcp_bpf_sendmsg+0x1a1/0x390
inet_sendmsg+0x6a/0x70
sock_sendmsg+0x9d/0xc0
? sockfd_lookup_light+0x12/0x80
__sys_sendto+0x10e/0x160
? syscall_enter_from_user_mode+0x20/0x60
? __this_cpu_preempt_check+0x13/0x20
? lockdep_hardirqs_on+0x82/0x110
__x64_sys_sendto+0x1f/0x30
do_syscall_64+0x38/0x90
entry_SYSCALL_64_after_hwframe+0x63/0xcd
Reject selecting a non-TCP sockets as redirect target from a BPF sk_msg
program to prevent the crash. When attempted, user will receive an EACCES
error from send/sendto/sendmsg() syscall.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.13 | 5.15.135 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.5.8-1 | — |
| Debian 13 | linux | 6.5.8-1 | — |
| Debian 12 | linux | 6.1.64-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1035.37 | — |
| Ubuntu 24.04 LTS | linux-raspi | 6.7.0-1001.1 | — |
| Ubuntu 24.04 LTS | linux-raspi-realtime | No fix yet | — |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-94.104 | — |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1053.58 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1056.64 | — |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1056.64.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1051.59 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.5 | 6.5.0-1013.13~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gke +1 | 5.15.0-1050.55 | — |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1036.42 | — |
| Ubuntu 22.04 LTS | linux-hwe-6.5 | 6.5.0-17.17~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1046.49 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1047.53 | — |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.5 | 6.5.0-17.17.1.1.1~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1044.44 | — |
| Ubuntu 22.04 LTS | linux-nvidia-6.5 | 6.5.0-1014.14 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1022.22 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1009.9 | — |
| Ubuntu 22.04 LTS | linux-oem-6.5 | 6.5.0-1014.15 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1051.57 | — |
| Ubuntu 22.04 LTS | linux-oracle-6.5 | 6.5.0-1015.15~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-riscv +23 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1027.31 | — |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1053.58~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1056.64~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1051.59~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gkeop-5.15 | 5.15.0-1036.42~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-94.104~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1046.49~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1048.54~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1022.22~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1051.57~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1049.53~20.04.2 | — |
| Ubuntu 18.04 LTS | linux-gcp +13 | No fix yet | — |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1046.48 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1054.60 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1053.58+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-94.104+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1055.63+fips2 | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLES 15 SP5 | kernel-azure +2 | 5.14.21-150500.33.48.1 | SUSE-SU-2024:1490-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| SLES 15 SP4 | kernel-64kb +6 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLES 15 SP4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
Show 10 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLES for SAP 15 SP4 | kernel-docs +4 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.5 | kernel-default | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
| SLE Micro 5.4 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.4 | kernel-rt +1 | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
| SLE Micro 5.3 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.3 | kernel-rt +1 | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_13 | 1-150500.11.3.1 | SUSE-SU-2024:1466-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_12 | 1-150500.11.7.1 | SUSE-SU-2024:1480-1 |
| SLE Live Patching 15 SP4 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_25 | 1-150400.9.5.1 | SUSE-SU-2024:1321-1 |
| SLE HPC 15 SP4 | kernel-64kb +5 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE HPC 15 SP4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SUSE Real Time Module 15 SP5 | kernel-rt +3 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
| SUSE Manager Server 4.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SUSE Manager Server 4.3 | kernel-syms +3 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SUSE Manager Proxy 4.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SUSE Manager Proxy 4.3 | kernel-syms +2 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.5 | dtb-aarch64 +10 | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| openSUSE Leap 15.5 | kernel-azure +2 | 5.14.21-150500.33.48.1 | SUSE-SU-2024:1490-1 |
| openSUSE Leap 15.5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| openSUSE Leap 15.5 | kernel-rt +3 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap Micro 5.4 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.4 | kernel-rt | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
| openSUSE Leap Micro 5.3 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.3 | kernel-rt | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.1.59-84.139 | 1.0-0.amzn2023 | ALAS2023-2023-422 |
| Amazon Linux 2023 | perf +13 | 6.1.59-84.139.amzn2023 | ALAS2023-2023-422 |
Advisories 7
- WID-SEC-2024-0534 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 3, 2026
- SUSE-SU-2024:1320-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1480-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1490-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1466-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1321-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · May 2, 2025
- ALAS2023-2023-422 Important: kernel security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Jul 3, 2024