Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2024-41031)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
29/07/2024
Última modificación:
29/07/2024

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: mm/filemap: omita para crear un caché de página del tamaño de PMD si es necesario. En ARM64, HPAGE_PMD_ORDER es 13 cuando el tamaño de página base es 64 KB. Xarray no puede admitir la caché de páginas de tamaño PMD, como lo indican los siguientes mensajes de error. ------------[ cortar aquí ]------------ ADVERTENCIA: CPU: 35 PID: 7484 en lib/xarray.c:1025 xas_split_alloc+0xf8/0x128 Módulos vinculado en: nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib \ nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct \ nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 \ ip_set rfkill nf_tables nfnetlink vfat fat virtio_balloon drm \ fuse xfs libcrc32c crct10dif_ce ghash_ce sha2_ce sha256_arm64 \ sha1_ce virtio_net net_failover virtio_console virtio_blk failover \ dimlib virtio_mmio CPU: 35 PID : 7484 Comm: prueba Kdump: cargado Contaminado: GW 6.10.0-rc5-gavin+ #9 Nombre del hardware: QEMU KVM Virtual Machine, BIOS edk2-20240524-1.el9 24/05/2024 pstate: 83400005 (Nzcv daif +PAN - UAO +TCO +DIT -SSBS BTYPE=--) pc: xas_split_alloc+0xf8/0x128 lr: split_huge_page_to_list_to_order+0x1c4/0x720 sp: ffff800087a4f6c0 x29: ffff800087a4f6c0 x28: 0 x27: 000000001fffffff x26: 0000000000000c40 x25: 000000000000000d x24: ffff00010625b858 x23: ffff800087a4f720 x22: ffffffdfc0780000 x21: 0000000000000000 x20: 0000000000000000 x19: ffffffdfc0780000 x18: 000000001ff40000 x17: 00000000ffffffff x16: 0018000000000 x15: 51ec004000000000 x14: 0000e00000000000 x13: 0000000000002000 x12: 0000000000000020 x11: 51ec000000000000 x10: 1c0ffff8000 x9: ffffbeb961a44d28 x8: 0000000000000003 x7: ffffffdfc0456420 x6: ffff0000e1aa6eb8 x5: 20bf08b4fe778fca x4: ffffffdfc0456420 x3: 0000000000000c40 x2: 000000000000000d x1: 000000000000000c x0: 0000000000 000000 Rastreo de llamadas: xas_split_alloc+0xf8/0x128 split_huge_page_to_list_to_order+0x1c4/0x720 truncate_inode_partial_folio+0xdc/0x160 truncate_inode_pages_range+0x1b4/0x4a8 truncate_pagecache_range+0x84/0xa0 xfs _flush_unmap_range+0x70 /0x90 [xfs] xfs_file_fallocate+0xfc/0x4d8 [xfs] vfs_fallocate+0x124/0x2e8 ksys_fallocate+0x4c/0xa0 __arm64_sys_fallocate+0x24/0x38 invoke_syscall.constprop.0+0x7c/0xd8 do_el0_ svc+0xb4/0xd0 el0_svc+0x44/0x1d8 el0t_64_sync_handler+0x134 /0x150 el0t_64_sync+0x17c/0x180 Corríjalo omitiendo la asignación de caché de página de tamaño PMD cuando su tamaño sea mayor que MAX_PAGECACHE_ORDER. Para este caso específico, recurriremos a la ruta normal donde la ventana de lectura anticipada está determinada por el archivo sysfs de BDI (read_ahead_kb).

Impacto