CVE-2024-26640

In the Linux kernel, the following vulnerability has been resolved: tcp: add sanity checks to rx zerocopy TCP rx zerocopy intent is to map pages initially allocated from NIC drivers, not pages owned by a fs. This patch adds to can_map_frag() these additional checks: - Page must not be a compound one. - page->mapping must be NULL. This fixes the panic reported by ZhangPeng. syzbot was able to loopback packets built with sendfile(), mapping pages owned by an ext4 file to TCP rx zerocopy. r3 = socket$inet_tcp(0x2, 0x1, 0x0) mmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0x12, r3, 0x0) r4 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r4, &(0x7f0000000000)={0x2, 0x4e24, @multicast1}, 0x10) connect$inet(r4, &(0x7f00000006c0)={0x2, 0x4e24, @empty}, 0x10) r5 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x181e42, 0x0) fallocate(r5, 0x0, 0x0, 0x85b8) sendfile(r4, r5, 0x0, 0x8ba0) getsockopt$inet_tcp_TCP_ZEROCOPY_RECEIVE(r4, 0x6, 0x23, &(0x7f00000001c0)={&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &(0x7f0000000440)=0x40) r6 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x181e42, 0x0)
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*

Configuration 2 (hide)

cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*

History

10 Mar 2025, 16:58

Type Values Removed Values Added
CWE NVD-CWE-noinfo
CPE cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/1b8adcc0e2c584fec778add7777fe28e20781e60 - () https://git.kernel.org/stable/c/1b8adcc0e2c584fec778add7777fe28e20781e60 - Mailing List, Patch
References () https://git.kernel.org/stable/c/577e4432f3ac810049cb7e6b71f4d96ec7c6e894 - () https://git.kernel.org/stable/c/577e4432f3ac810049cb7e6b71f4d96ec7c6e894 - Mailing List, Patch
References () https://git.kernel.org/stable/c/718f446e60316bf606946f7f42367d691d21541e - () https://git.kernel.org/stable/c/718f446e60316bf606946f7f42367d691d21541e - Mailing List, Patch
References () https://git.kernel.org/stable/c/b383d4ea272fe5795877506dcce5aad1f6330e5e - () https://git.kernel.org/stable/c/b383d4ea272fe5795877506dcce5aad1f6330e5e - Mailing List, Patch
References () https://git.kernel.org/stable/c/d15cc0f66884ef2bed28c7ccbb11c102aa3a0760 - () https://git.kernel.org/stable/c/d15cc0f66884ef2bed28c7ccbb11c102aa3a0760 - Mailing List, Patch
References () https://git.kernel.org/stable/c/f48bf9a83b1666d934247cb58a9887d7b3127b6f - () https://git.kernel.org/stable/c/f48bf9a83b1666d934247cb58a9887d7b3127b6f - Mailing List, Patch
References () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html - () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html - Mailing List
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
First Time Debian
Linux linux Kernel
Linux
Debian debian Linux

21 Nov 2024, 09:02

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html -
References () https://git.kernel.org/stable/c/1b8adcc0e2c584fec778add7777fe28e20781e60 - () https://git.kernel.org/stable/c/1b8adcc0e2c584fec778add7777fe28e20781e60 -
References () https://git.kernel.org/stable/c/577e4432f3ac810049cb7e6b71f4d96ec7c6e894 - () https://git.kernel.org/stable/c/577e4432f3ac810049cb7e6b71f4d96ec7c6e894 -
References () https://git.kernel.org/stable/c/718f446e60316bf606946f7f42367d691d21541e - () https://git.kernel.org/stable/c/718f446e60316bf606946f7f42367d691d21541e -
References () https://git.kernel.org/stable/c/b383d4ea272fe5795877506dcce5aad1f6330e5e - () https://git.kernel.org/stable/c/b383d4ea272fe5795877506dcce5aad1f6330e5e -
References () https://git.kernel.org/stable/c/d15cc0f66884ef2bed28c7ccbb11c102aa3a0760 - () https://git.kernel.org/stable/c/d15cc0f66884ef2bed28c7ccbb11c102aa3a0760 -
References () https://git.kernel.org/stable/c/f48bf9a83b1666d934247cb58a9887d7b3127b6f - () https://git.kernel.org/stable/c/f48bf9a83b1666d934247cb58a9887d7b3127b6f -

05 Nov 2024, 10:15

Type Values Removed Values Added
References
  • {'url': 'https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html', 'source': '416baaa9-dc9f-4396-8d5f-8c081fb06d67'}

25 Jun 2024, 22:15

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html -
Summary
  • (es) En el kernel de Linux, se resolvió la siguiente vulnerabilidad: tcp: agregue controles de seguridad a rx zerocopy La intención de TCP rx zerocopy es mapear páginas inicialmente asignadas desde controladores NIC, no páginas propiedad de un fs. Este parche añade a can_map_frag() estas comprobaciones adicionales: - La página no debe ser compuesta. - página->mapeo debe ser NULL. Esto soluciona el pánico informado por ZhangPeng. syzbot pudo realizar un loopback de paquetes creados con sendfile(), asignando páginas propiedad de un archivo ext4 a TCP rx zerocopy. r3 = socket$inet_tcp(0x2, 0x1, 0x0) mmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0x12, r3, 0x0) r4 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r4 , &(0x7f0000000000)={0x2, 0x4e24, @multicast1}, 0x10) connect$inet(r4, &(0x7f00000006c0)={0x2, 0x4e24, @empty}, 0x10) r5 = openat$dir(0xffffffffffffff9c, &(0x7f00) 000000c0 )='./file0\x00', 0x181e42, 0x0) fallocate(r5, 0x0, 0x0, 0x85b8) sendfile(r4, r5, 0x0, 0x8ba0) getsockopt$inet_tcp_TCP_ZEROCOPY_RECEIVE(r4, 0x6, 0x23, &(0x7f00000) 001c0)={ &(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &(0x7f0000000440)=0x40) r6 = openat$dir(0xffffffffffffff9c, &(0x7f000) 00000c0)='./archivo0 \x00', 0x181e42, 0x0)

18 Mar 2024, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-03-18 11:15

Updated : 2025-03-10 16:58


NVD link : CVE-2024-26640

Mitre link : CVE-2024-26640

CVE.ORG link : CVE-2024-26640


JSON object : View

Products Affected

debian

  • debian_linux

linux

  • linux_kernel