Cloudanix VulnDB

CVE-2024-57901

Medium · 5.5

CVSS

5.5

EPSS

0.3%

Published

Jan 15, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel can let local programs crash the entire system when handling certain network packets.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A flaw in the Linux kernel's AF_PACKET implementation allows improper handling of MSG_PEEK in vlan_get_protocol_dgram(), leading to attempts to modify a shared skb and causing a kernel panic via skb_under_panic.

Why it matters to the business

Local users can trigger kernel crashes, leading to denial of service on affected Linux systems. Requires kernel update to the specified commit for resolution.

How an attack unfolds

An attacker with local access crafts a scenario using packet sockets and recvmsg with MSG_PEEK flag on VLAN-tagged packets, triggering the vulnerable code path that panics the kernel.

How to fix it

Upgrade the Linux kernel to a version including commit 8fe28cb58bcb235034b64cbbb7550a8a43fd88be or later.

How to confirm the fix worked

Verify kernel version contains the fix commit; attempt reproduction with MSG_PEEK on packet sockets to confirm no panic.

Typical attack path

  1. Obtain local access to the system
  2. Create an AF_PACKET socket
  3. Use recvmsg with MSG_PEEK on appropriate packets
  4. Trigger vlan_get_protocol_dgram to cause skb modification panic

How to detect it

Examine kernel logs for 'skb_under_panic' or 'skb_panic' entries mentioning vlan_get_protocol_dgram or af_packet.

  • skb_under_panic
  • vlan_get_protocol_dgram
  • packet_recvmsg

What your security team should do

  • Apply kernel updates promptly
  • Restrict use of AF_PACKET sockets if possible
  • Monitor for kernel panic logs

The record

In the Linux kernel, the following vulnerability has been resolved: af_packet: fix vlan_get_protocol_dgram() vs MSG_PEEK Blamed commit forgot MSG_PEEK case, allowing a crash [1] as found by syzbot. Rework vlan_get_protocol_dgram() to not touch skb at all, so that it can be used from many cpus on the same skb. Add a const qualifier to skb argument. [1] skbuff: skb_under_panic: text:ffffffff8a8ccd05 len:29 put:14 head:ffff88807fc8e400 data:ffff88807fc8e3f4 tail:0x11 end:0x140 dev:<NULL> ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:206 ! Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 1 UID: 0 PID: 5892 Comm: syz-executor883 Not tainted 6.13.0-rc4-syzkaller-00054-gd6ef8b40d075 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 RIP: 0010:skb_panic net/core/skbuff.c:206 [inline] RIP: 0010:skb_under_panic+0x14b/0x150 net/core/skbuff.c:216 Code: 0b 8d 48 c7 c6 86 d5 25 8e 48 8b 54 24 08 8b 0c 24 44 8b 44 24 04 4d 89 e9 50 41 54 41 57 41 56 e8 5a 69 79 f7 48 83 c4 20 90 <0f> 0b 0f 1f 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 RSP: 0018:ffffc900038d7638 EFLAGS: 00010282 RAX: 0000000000000087 RBX: dffffc0000000000 RCX: 609ffd18ea660600 RDX: 0000000000000000 RSI: 0000000080000000 RDI: 0000000000000000 RBP: ffff88802483c8d0 R08: ffffffff817f0a8c R09: 1ffff9200071ae60 R10: dffffc0000000000 R11: fffff5200071ae61 R12: 0000000000000140 R13: ffff88807fc8e400 R14: ffff88807fc8e3f4 R15: 0000000000000011 FS: 00007fbac5e006c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fbac5e00d58 CR3: 000000001238e000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> skb_push+0xe5/0x100 net/core/skbuff.c:2636 vlan_get_protocol_dgram+0x165/0x290 net/packet/af_packet.c:585 packet_recvmsg+0x948/0x1ef0 net/packet/af_packet.c:3552 sock_recvmsg_nosec net/socket.c:1033 [inline] sock_recvmsg+0x22f/0x280 net/socket.c:1055 ____sys_recvmsg+0x1c6/0x480 net/socket.c:2803 ___sys_recvmsg net/socket.c:2845 [inline] do_recvmmsg+0x426/0xab0 net/socket.c:2940 __sys_recvmmsg net/socket.c:3014 [inline] __do_sys_recvmmsg net/socket.c:3037 [inline] __se_sys_recvmmsg net/socket.c:3030 [inline] __x64_sys_recvmmsg+0x199/0x250 net/socket.c:3030 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:10 kernel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-abi-stablelists 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-cross-headers 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-uki-virt 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-doc 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-headers 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules-extra-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-tools 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-tools-libs 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-tools-libs-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-uki-virt 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-uki-virt-addons 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 libperf 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 perf 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 python3-perf 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 rtla 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 rv 0 6.12.0-124.8.1.el10_1
Debian:11 linux 0 No fix
Debian:11 linux 0 5.10.234-1
Debian:11 linux-6.1 0 6.1.128-1~deb11u1
Debian:11 linux-6.1 0 6.1.6.1.128-1~deb11u1
Debian:12 linux 0 No fix
Debian:13 linux 0 6.12.9-1
Linux Kernel 0 5.4.289
Mageia:9 dwarves 0 1.29-1.mga9
Mageia:9 kernel 0 6.6.74-1.mga9
Mageia:9 kernel-linus 0 6.6.74-1.mga9
Mageia:9 kmod-virtualbox 0 7.0.24-64.mga9
Mageia:9 kmod-xtables-addons 0 3.24-70.mga9
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:20.04:LTS linux 0 No fix
Ubuntu:20.04:LTS linux 0 5.4.0-211.231
Ubuntu:20.04:LTS linux-aws 0 No fix
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1142.152
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1080.87~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1147.154
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1086.95~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 No fix
Ubuntu:20.04:LTS linux-bluefield 0 No fix
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1101.108
Ubuntu:20.04:LTS linux-gcp 0 No fix
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1145.154
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1081.90~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 No fix
Ubuntu:20.04:LTS linux-gkeop-5.15 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-136.147~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1088.93
Ubuntu:20.04:LTS linux-ibm-5.15 0 No fix
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1074.77~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1077.83~20.04.1
Ubuntu:20.04:LTS linux-iot 0 No fix
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1048.51
Ubuntu:20.04:LTS linux-kvm 0 No fix
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1129.138
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 No fix
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-135.146~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 No fix
Ubuntu:20.04:LTS linux-oem-5.13 0 No fix
Ubuntu:20.04:LTS linux-oem-5.14 0 No fix
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1140.150
Ubuntu:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1077.83~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1129.142
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.11 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1075.79~20.04.1
Ubuntu:20.04:LTS linux-riscv-5.8 0 No fix
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 No fix
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1060.64
Ubuntu:22.04:LTS linux 0 No fix
Ubuntu:22.04:LTS linux 0 5.15.0-135.146
Ubuntu:22.04:LTS linux-allwinner-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws 0 No fix
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1080.87
Ubuntu:22.04:LTS linux-aws-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws-6.2 0 No fix
Ubuntu:22.04:LTS linux-aws-6.5 0 No fix
Ubuntu:22.04:LTS linux-aws-6.8 0 No fix
Ubuntu:22.04:LTS linux-aws-6.8 0 6.8.0-1029.31~22.04.1
Ubuntu:22.04:LTS linux-azure 0 No fix
Ubuntu:22.04:LTS linux-azure 0 5.15.0-1084.93
Ubuntu:22.04:LTS linux-azure-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-6.2 0 No fix
Ubuntu:22.04:LTS linux-azure-6.5 0 No fix
Ubuntu:22.04:LTS linux-azure-6.8 0 No fix
Ubuntu:22.04:LTS linux-azure-6.8 0 6.8.0-1029.34~22.04.1
Ubuntu:22.04:LTS linux-azure-fde 0 No fix
Ubuntu:22.04:LTS linux-azure-fde-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-fde-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp 0 No fix
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1079.88
Ubuntu:22.04:LTS linux-gcp-5.19 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.5 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.8 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.8 0 6.8.0-1030.32~22.04.1

Related vulnerabilities