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

Vulnerabilidades

Con el objetivo de informar, advertir y ayudar a los profesionales sobre las ultimas vulnerabilidades de seguridad en sistemas tecnológicos, ponemos a disposición de los usuarios interesados en esta información una base de datos con información en castellano sobre cada una de las ultimas vulnerabilidades documentadas y conocidas.

Este repositorio con más de 75.000 registros esta basado en la información de NVD (National Vulnerability Database) – en función de un acuerdo de colaboración – por el cual desde INCIBE realizamos la traducción al castellano de la información incluida. En ocasiones este listado mostrará vulnerabilidades que aún no han sido traducidas debido a que se recogen en el transcurso del tiempo en el que el equipo de INCIBE realiza el proceso de traducción.

Se emplea el estándar de nomenclatura de vulnerabilidades CVE (Common Vulnerabilities and Exposures), con el fin de facilitar el intercambio de información entre diferentes bases de datos y herramientas. Cada una de las vulnerabilidades recogidas enlaza a diversas fuentes de información así como a parches disponibles o soluciones aportadas por los fabricantes y desarrolladores. Es posible realizar búsquedas avanzadas teniendo la opción de seleccionar diferentes criterios como el tipo de vulnerabilidad, fabricante, tipo de impacto entre otros, con el fin de acortar los resultados.

Mediante suscripción RSS o Boletines podemos estar informados diariamente de las ultimas vulnerabilidades incorporadas al repositorio.

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ksmbd: anular la marca de enlace de una conexión reutilizada Steve French informó de un error de desreferencia de puntero nulo de la librería sha256. cifs.ko puede enviar solicitudes de configuración de sesión en una conexión reutilizada. Si se utiliza una conexión reutilizada para vincular la sesión, conn->binding puede seguir siendo verdadero y generate_preauth_hash() no establecerá sess->Preauth_HashValue y será NULL. Se utiliza como material para crear una clave de cifrado en ksmbd_gen_smb311_encryptionkey. ->Preauth_HashValue provoca un error de desreferencia de puntero nulo de crypto_shash_update(). ERROR: desreferencia de puntero NULL del kernel, dirección: 0000000000000000 #PF: acceso de lectura del supervisor en modo kernel #PF: error_code(0x0000) - página no presente PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 8 PID: 429254 Comm: kworker/8:39 Nombre del hardware: LENOVO 20MAS08500/20MAS08500, BIOS N2CET69W (1.52 ) Cola de trabajo: ksmbd-io handle_ksmbd_work [ksmbd] RIP: 0010:lib_sha256_base_do_update.isra.0+0x11e/0x1d0 [sha256_ssse3] ? show_regs+0x6d/0x80 ? __die+0x24/0x80 ? error_página_oops+0x99/0x1b0 ? error_dirección_usuario+0x2ee/0x6b0 ? error_página_exc+0x83/0x1b0 ? error_página_exc+0x27/0x30 ? __pfx_sha256_transform_rorx+0x10/0x10 [sha256_ssse3] ? lib_sha256_base_do_update.isra.0+0x11e/0x1d0 [sha256_ssse3] ? __pfx_sha256_transform_rorx+0x10/0x10 [sha256_ssse3] ? __pfx_sha256_transform_rorx+0x10/0x10 [sha256_ssse3] _sha256_update+0x77/0xa0 [sha256_ssse3] sha256_avx2_update+0x15/0x30 [sha256_ssse3] crypto_shash_update+0x1e/0x40 hmac_update+0x12/0x20 crypto_shash_update+0x1e/0x40 generar_clave+0x234/0x380 [ksmbd] generar_clave_de_cifrado_smb3+0x40/0x1c0 [ksmbd] ksmbd_gen_smb311_clave_de_cifrado+0x72/0xa0 [ksmbd] __pfx_kthread+0x10/0x10 ret_from_fork+0x44/0x70 ? __pfx_kthread+0x10/0x10 ret_de_fork_asm+0x1b/0x30
Gravedad CVSS v3.1: MEDIA
Última modificación:
03/11/2025

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: dapm: Corregir UAF para el objeto snd_soc_pcm_runtime Cuando se usa el kernel con la siguiente configuración adicional, - CONFIG_KASAN=y - CONFIG_KASAN_GENERIC=y - CONFIG_KASAN_INLINE=y - CONFIG_KASAN_VMALLOC=y - CONFIG_FRAME_WARN=4096 el kernel detecta que snd_pcm_suspend_all() accede a un objeto 'snd_soc_pcm_runtime' liberado cuando el sistema está suspendido, lo que conduce a un error de use after free: [ 52.047746] ERROR: KASAN: use after free en snd_pcm_suspend_all+0x1a8/0x270 [ 52.047765] Lectura de tamaño 1 en la dirección ffff0000b9434d50 por la tarea systemd-sleep/2330 [ 52.047785] Seguimiento de llamadas: [ 52.047787] dump_backtrace+0x0/0x3c0 [ 52.047794] show_stack+0x34/0x50 [ 52.047797] dump_stack_lvl+0x68/0x8c [ 52.047802] print_address_description.constprop.0+0x74/0x2c0 [ 52.047809] kasan_report+0x210/0x230 [ 52.047815] __asan_report_load1_noabort+0x3c/0x50 [ 52.047820] snd_pcm_suspend_all+0x1a8/0x270 [ 52.047824] snd_soc_suspend+0x19c/0x4e0 La función snd_pcm_sync_stop() tiene una comprobación NULL en 'substream->runtime' antes de realizar cualquier acceso. Por lo tanto, siempre debemos establecer 'substream->runtime' en NULL cada vez que lo ejecutamos con kfree().
Gravedad CVSS v3.1: ALTA
Última modificación:
03/11/2025

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sch/netem: se corrige el use after free en netem_dequeue si netem_dequeue() pone en cola el paquete en la qdisc interna y esa qdisc devuelve __NET_XMIT_STOLEN. El paquete se descarta pero no se llama a qdisc_tree_reduce_backlog() para actualizar el q.qlen del padre, lo que lleva a un use after free similar al Commit e04991a48dbaf382 ("netem: corrige el valor de retorno si falla la puesta en cola duplicada") Comandos para activar KASAN UaF: ip link add type dummy ip link set lo up ip link set dummy0 up tc qdisc add dev lo parent root handle 1: drr tc filter add dev lo parent 1: basic classid 1:1 tc class add dev lo classid 1:1 drr tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2: handle 3: drr tc filter add dev lo parent 3: basic classid 3:1 action mirred egress redirect dev dummy0 tc class add dev lo classid 3:1 drr ping -c1 -W0.01 localhost # Desencadenador de error tc class del dev lo classid 1:1 tc class add dev lo classid 1:1 drr ping -c1 -W0.01 localhost # UaF
Gravedad CVSS v3.1: ALTA
Última modificación:
03/11/2025

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Validar los valores devueltos por la función [QUÉ Y CÓMO] Los valores devueltos por la función deben comprobarse antes de que los datos se puedan usar en funciones posteriores. Esto soluciona 4 problemas de CHECKED_RETURN informados por Coverity.
Gravedad CVSS v3.1: MEDIA
Última modificación:
20/11/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: ejecutar DC_LOG_DC después de comprobar link->link_enc [QUÉ] DC_LOG_DC debe ejecutarse después de comprobar link->link_enc, no antes. Esto soluciona un problema de REVERSE_INULL informado por Coverity.
Gravedad CVSS v3.1: MEDIA
Última modificación:
20/11/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: comprobar el valor de UnboundedRequestEnabled CalculateSwathAndDETConfiguration_params_st's UnboundedRequestEnabled es un puntero (es decir, dml_bool_t *UnboundedRequestEnabled) y, por lo tanto, if (p->UnboundedRequestEnabled) comprueba su dirección, no su valor booleano. Esto soluciona 1 problema de REVERSE_INULL informado por Coverity.
Gravedad CVSS v3.1: MEDIA
Última modificación:
20/11/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/imagination: pvr_vm_gpuva libre después de la desvinculación Esto provocó una pérdida de memoria medible. Aunque las asignaciones individuales son pequeñas, las pérdidas se producen en una ruta de código de alto uso (reasignación o anulación de la asignación de la memoria del dispositivo), por lo que se acumulan rápidamente.
Gravedad CVSS v3.1: MEDIA
Última modificación:
23/09/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: eventfs: Uso list_del_rcu() para la variable de lista protegida SRCU Chi Zhiling informó: Encontramos un puntero nulo accediendo en tracefs[1], la razón es que la variable 'ei_child' está configurada en LIST_POISON1, lo que significa que la lista se eliminó en eventfs_remove_rec. entonces, cuando se accede a ei_child->is_freed, se activa el pánico. por cierto, el siguiente script puede reproducir este bucle de pánico loop1 (){ while true do echo "p:kp submission_bio" > /sys/kernel/debug/tracing/kprobe_events echo "" > /sys/kernel/debug/tracing/kprobe_events done } loop2 (){ while true do tree /sys/kernel/debug/tracing/events/kprobes/ done } loop1 & loop2 [1]: [ 1147.959632][T17331] No se puede manejar la solicitud de paginación del núcleo en la dirección virtual dead000000000150 [ 1147.968239][T17331] Información de aborto de memoria: [ 1147.971739][T17331] ESR = 0x0000000096000004 [ 1147.976172][T17331] EC = 0x25: DABT (EL actual), IL = 32 bits [ 1147.982171][T17331] SET = 0, FnV = 0 [ 1147.985906][T17331] EA = 0, S1PTW = 0 [ 1147.989734][T17331] FSC = 0x04: error de traducción de nivel 0 [ 1147.995292][T17331] Información de cancelación de datos: [ 1147.998858][T17331] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 1148.005023][T17331] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 1148.010759][T17331] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 1148.016752][T17331] [dead000000000150] dirección entre los rangos de direcciones del usuario y del núcleo [ 1148.024571][T17331] Error interno: Oops: 0000000096000004 [#1] SMP [ 1148.030825][T17331] Módulos vinculados en: team_mode_loadbalance team nlmon act_gact cls_flower sch_ingress bonding tls puente ib_core de macvlan dummy stp llc veth amdgpu amdxcp mfd_core gpu_sched drm_exec drm_buddy radeon crct10dif_ce video drm_suballoc_helper ghash_ce drm_ttm_helper sha2_ce ttm sha256_arm64 i2c_algo_bit sha1_ce sbsa_gwdt cp210x drm_display_helper cec sr_mod cdrom drm_kms_helper binfmt_misc sg loop fuse drm dm_mod nfnetlink ip_tables autofs4 [última descarga: tls] [ 1148.072808][T17331] CPU: 3 PID: 17331 Comm: ls Contaminado: GW ------- ---- 6.6.43 #2 [ 1148.081751][T17331] Versión de origen: 21b3b386e948bedd29369af66f3e98ab01b1c650 [ 1148.088783][T17331] Nombre del hardware: Greatwall GW-001M1A-FTF/GW-001M1A-FTF, BIOS KunLun BIOS V4.0 16/07/2020 [ 1148.098419][T17331] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1148.106060][T17331] pc : eventfs_iterate+0x2c0/0x398 [ 1148.111017][T17331] lr : eventfs_iterate+0x2fc/0x398 [ 1148.115969][T17331] sp : ffff80008d56bbd0 [ 1148.119964][T17331] x29: ffff80008d56bbf0 x28: ffff001ff5be2600 x27: 0000000000000000 [ 1148.127781][T17331] x26: ffff001ff52ca4e0 x25: 0000000000009977 x24: muerto000000000100 [ 1148.135598][T17331] x23: 0000000000000000 x22: 0000000000000000b x21: ffff800082645f10 [ 1148.143415][T17331] x20: ffff001fddf87c70 x19: ffff80008d56bc90 x18: 000000000000000 [ 1148.151231][T17331] x17: 000000000000000 x16: 0000000000000000 x15: ffff001ff52ca4e0 [ 1148.159048][T17331] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 1148.166864][T17331] x11: 000000000000000 x10: 000000000000000 x9 : ffff8000804391d0 [ 1148.174680][T17331] x8 : 000000018000000 x7 : 0000000000000018 x6 : 0000aaab04b92862 [ 1148.182498][T17331] x5 : 0000aaab04b92862 x4 : 0000000080000000 x3 : 0000000000000068 [ 1148.190314][T17331] x2 : 00000000000000f x1 : 0000000000007ea8 x0 : 0000000000000001 [ 1148.198131][T17331] Rastreo de llamadas: [ 1148.201259][T17331] eventfs_iterate+0x2c0/0x398 [ 1148.205864][T17331] iterar_dir+0x98/0x188 [ 1148.210036][T17331] __arm64_sys_getdents64+0x78/0x160 [ 1148.215161][T17331] invocar_llamada_al_sistema+0x78/0x108 [ 1148.219593][T17331] el0_svc_common.constprop.0+0x48/0xf0 [ 1148.224977][T17331] hacer_el0_svc+0x24/0x38 [ 1148.228974][T17331] el0_svc+0x40/0x168 [ 1148.232798][T17 ---truncado---
Gravedad CVSS v3.1: MEDIA
Última modificación:
20/11/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fscache: eliminar fscache_cookie_lru_timer cuando fscache sale para evitar UAF fscache_cookie_lru_timer se inicializa cuando se inserta el módulo fscache, pero no se elimina cuando se elimina el módulo fscache. Si se llama a timer_reduce() antes de eliminar el módulo fscache, fscache_cookie_lru_timer se agregará a la lista de temporizadores de la CPU actual. Posteriormente, se activará un use after free en el softIRQ después de quitar el módulo fscache, de la siguiente manera: ======================================================================== ERROR: no se puede manejar el error de página para la dirección: fffffbfff803c9e9 PF: acceso de lectura del supervisor en modo kernel PF: error_code(0x0000) - página no presente PGD 21ffea067 P4D 21ffea067 PUD 21ffe6067 PMD 110a7c067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Contaminado: GW 6.11.0-rc3 #855 Contaminado: [W]=ADVERTENCIA RIP: 0010:__run_timer_base.part.0+0x254/0x8a0 Rastreo de llamadas: tmigr_handle_remote_up+0x627/0x810 __walk_groups.isra.0+0x47/0x140 tmigr_handle_remote+0x1fa/0x2f0 handle_softirqs+0x180/0x590 irq_exit_rcu+0x84/0xb0 sysvec_apic_timer_interrupt+0x6e/0x90 asm_sysvec_apic_timer_interrupt+0x1a/0x20 RIP: 0010:default_idle+0xf/0x20 default_idle_call+0x38/0x60 do_idle+0x2b5/0x300 cpu_startup_entry+0x54/0x60 start_secondary+0x20d/0x280 common_startup_64+0x13e/0x148 Módulos vinculados en: [última descarga: netfs] ======================================================================= Por lo tanto, elimine fscache_cookie_lru_timer al eliminar el módulo fscahe.
Gravedad CVSS v3.1: ALTA
Última modificación:
26/09/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: userfaultfd: corregir comprobaciones para PMD enormes Serie de parches "userfaultfd: corregir ejecucións en torno a la comprobación pmd_trans_huge()", v2. El código pmd_trans_huge() en mfill_atomic() es incorrecto de tres maneras diferentes según la versión del kernel: 1. La comprobación pmd_trans_huge() es rápida y puede llevar a un BUG_ON() (si alcanza las dos ventanas de ejecución correctas) - He probado esto en una compilación del kernel con algunas llamadas mdelay() adicionales. Vea el mensaje de confirmación para obtener una descripción del escenario de ejecución. En kernels más antiguos (antes de 6.5), creo que el mismo error puede incluso teóricamente llevar a acceder a los contenidos de la página transhuge como una tabla de páginas si alcanza las 5 ventanas de ejecución estrechas correctas (no he probado este caso). 2. Como señaló Qi Zheng, pmd_trans_huge() no es suficiente para detectar PMD que no apuntan a tablas de páginas. En kernels más antiguos (anteriores a 6.5), solo tendrías que ganar una única ejecución bastante amplia para alcanzar esto. He probado esto en 6.1 estable haciendo una ejecución de migración (con un mdelay() parcheado en try_to_migrate()) contra UFFDIO_ZEROPAGE - en mi VM x86, eso causa un error de kernel en ptlock_ptr(). 3. En kernels más nuevos (>=6.5), para asignaciones shmem, khugepaged puede arrancar tablas de páginas de debajo de nosotros (aunque no lo he probado), así que creo que las comprobaciones BUG_ON() en mfill_atomic() son simplemente incorrectas. Decidí escribir dos correcciones separadas para estos (una corrección para los errores 1+2, una corrección para el error 3), de modo que la primera corrección pueda ser retroportada a kernels afectados por errores 1+2. Este parche (de 2): Esto corrige dos problemas. Descubrí que puede ocurrir la siguiente ejecución: mfill_atomic other thread ============ ============ pmdp_get_lockless() [reads none pmd] __pte_alloc [no-op] BUG_ON(pmd_none(*dst_pmd)) He verificado esto experimentalmente en un kernel con llamadas mdelay() adicionales; se activa BUG_ON(pmd_none(*dst_pmd)). En los kernels más nuevos que el commit 0d940a9b270b ("mm/pgtable: permitir que pte_offset_map[_lock]() falle"), esto no puede llevar a nada peor que un BUG_ON(), ya que los ayudantes de acceso a la tabla de páginas están manipulados para lidiar con la desaparición simultánea de tablas de páginas; pero en kernels más antiguos (<=6.4), creo que probablemente podríamos teóricamente pasar por alto las dos comprobaciones de BUG_ON() y terminar tratando una página enorme como una tabla de páginas. El segundo problema es que, como señaló Qi Zheng, hay otros tipos de PMD enormes que pmd_trans_huge() no puede detectar: PMD de devmap y PMD de intercambio (en particular, PMD de migración). En <=6.4, esto es peor que el primer problema: si mfill_atomic() se ejecuta en un PMD que contiene una entrada de migración (que solo requiere ganar una ejecución única y bastante amplia), pasará el PMD a pte_offset_map_lock(), que asume que el PMD apunta a una tabla de páginas. A continuación, se produce una ruptura: primero, el núcleo intenta tomar el bloqueo PTE (que se bloqueará o tal vez será peor si no hay una "página de estructura" para los bits de dirección en el PMD de la entrada de migración; creo que al menos en X86 no suele haber una "página de estructura" correspondiente gracias a la mitigación de inversión de PTE; amd64 se ve diferente). Si eso no se bloquea, el núcleo intentará escribir un PTE en lo que cree erróneamente que es una tabla de páginas. Como parte de la solución de estos problemas, elimine la verificación de pmd_trans_huge() antes de __pte_alloc(); eso es redundante, vamos a tener que verificar eso después de __pte_alloc() de todos modos. --- truncada ----
Gravedad CVSS v3.1: MEDIA
Última modificación:
20/11/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tracing/osnoise: Utilizar una cpumask para saber qué subprocesos son kthreads El código start_kthread() y stop_thread() no siempre se llamaba con el interface_lock mantenido. Esto significa que la variable kthread podría cambiar inesperadamente provocando que se llamara a kthread_stop() en ella cuando no debería haberse hecho, lo que lleva a: while true; do rtla timerlat top -u -q & PID=$!; sleep 5; kill -INT $PID; sleep 0.001; kill -TERM $PID; wait $PID; hecho Provocando el siguiente OOPS: Oops: error de protección general, probablemente para la dirección no canónica 0xdffffc0000000002: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref en el rango [0x000000000000010-0x0000000000000017] CPU: 5 UID: 0 PID: 885 Comm: timerlatu/5 No contaminado 6.11.0-rc4-test-00002-gbc754cc76d1b-dirty #125 a533010b71dab205ad2f507188ce8c82203b0254 Nombre del hardware: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 01/04/2014 RIP: 0010:hrtimer_active+0x58/0x300 Código: 48 c1 ee 03 41 54 48 01 d1 48 01 d6 55 53 48 83 ec 20 80 39 00 0f 85 30 02 00 00 49 8b 6f 30 4c 8d 75 10 4c 89 f0 48 c1 e8 03 <0f> b6 3c 10 4c 89 f0 83 e0 07 83 c0 03 40 38 f8 7c 09 40 84 ff 0f RSP: 0018:ffff88811d97f940 EFLAGS: 00010202 RAX: 0000000000000002 RBX: ffff88823c6b5b28 RCX: ffffed10478d6b6b RDX: dffffc0000000000 RSI: ffffed10478d6b6c RDI: ffff88823c6b5b28 RBP: 000000000000000 R08: ffff88823c6b5b58 R09: ffff88823c6b5b60 R10: ffff88811d97f957 R11: 0000000000000010 R12: 00000000000a801d R13: ffff88810d8b35d8 R14: 0000000000000010 R15: ffff88823c6b5b28 FS: 000000000000000(0000) GS:ffff88823c680000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000561858ad7258 CR3: 000000007729e001 CR4: 0000000000170ef0 Llamada Rastro: ? die_addr+0x40/0xa0 ? exc_general_protection+0x154/0x230 ? asm_exc_general_protection+0x26/0x30 ? hrtimer_active+0x58/0x300 ? __pfx_mutex_lock+0x10/0x10 ? __pfx_locks_remove_file+0x10/0x10 hrtimer_cancel+0x15/0x40 timerlat_fd_release+0x8e/0x1f0 ? security_file_release+0x43/0x80 __fput+0x372/0xb10 task_work_run+0x11e/0x1f0 ? _raw_spin_lock+0x85/0xe0 ? __pfx_task_work_run+0x10/0x10 ? objeto poison_slab+0x109/0x170 ? do_exit+0x7a0/0x24b0 do_exit+0x7bd/0x24b0 ? __pfx_migrate_enable+0x10/0x10 ? __pfx_do_exit+0x10/0x10 ? __pfx_read_tsc+0x10/0x10 ? ktime_get+0x64/0x140 ? _raw_spin_lock_irq+0x86/0xe0 do_group_exit+0xb0/0x220 obtener_señal+0x17ba/0x1b50 ? vfs_read+0x179/0xa40 ? timerlat_fd_read+0x30b/0x9d0 ? __pfx_get_signal+0x10/0x10 ? __pfx_timerlat_fd_read+0x10/0x10 arch_do_signal_or_restart+0x8c/0x570 ? __pfx_arch_do_signal_or_restart+0x10/0x10 ? vfs_read+0x179/0xa40 ? ksys_read+0xfe/0x1d0 ? __pfx_ksys_read+0x10/0x10 syscall_salir_al_modo_usuario+0xbc/0x130 do_syscall_64+0x74/0x110 ? __pfx___rseq_handle_notify_resume+0x10/0x10 ? __pfx_ksys_read+0x10/0x10 ? fpregs_restore_userregs+0xdb/0x1e0 ? fpregs_restore_userregs+0xdb/0x1e0 ? syscall_salir_al_modo_usuario+0x116/0x130 ? do_syscall_64+0x74/0x110 ? do_syscall_64+0x74/0x110 ? do_syscall_64+0x74/0x110 entry_SYSCALL_64_after_hwframe+0x71/0x79 RIP: 0033:0x7ff0070eca9c Código: No se puede acceder a los bytes del código de operación en 0x7ff0070eca72. RSP: 002b:00007ff006dff8c0 EFLAGS: 00000246 ORIG_RAX: 0000000000000000 RAX: 0000000000000000 RBX: 0000000000000005 RCX: 00007ff0070eca9c RDX: 0000000000000400 RSI: 00007ff006dff9a0 RDI: 0000000000000003 RBP: 00007ff006dffde0 R08: 000000000000000 R09: 00007ff000000ba0 R10: 00007ff007004b08 R11: 0000000000000246 R12: 0000000000000003 R13: 00007ff006dff9a0 R14: 0000000000000007 R15: 0000000000000008 Módulos vinculados en: snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hwdep snd_hda_core ---[ fin del seguimiento 000000000000000 ]--- Esto se debe a que llamaría por error a kthread_stop() en un hilo de espacio de usuario, lo que haría que "salga" antes de que realmente salga. Dado que kthread ---truncado---
Gravedad: Pendiente de análisis
Última modificación:
20/09/2024

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

Fecha de publicación:
18/09/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm/slub: agregar comprobación de s->flags en alloc_tagging_slab_free_hook Cuando se habilitan CONFIG_MEMCG y CONFIG_KFENCE y CONFIG_KMEMLEAK, siempre aparece la siguiente advertencia. Esto se debe a que se produjo la siguiente pila de llamadas: mem_pool_alloc kmem_cache_alloc_noprof slab_alloc_node kfence_alloc Una vez que la asignación de kfence es exitosa, slab->obj_exts no estará vacío, porque ya se le ha asignado un valor en kfence_init_pool. Dado que en la función prepare_slab_obj_exts_hook, realizamos una comprobación de s->flags y (SLAB_NO_OBJ_EXT | SLAB_NOLEAKTRACE), la función alloc_tag_add no se llamará como resultado. Por lo tanto, ref->ct permanece NULL. Sin embargo, cuando llamamos a mem_pool_free, dado que obj_ext no está vacío, finalmente se invoca el escenario alloc_tag_sub. Aquí es donde se produce la advertencia. Por lo tanto, deberíamos agregar las comprobaciones correspondientes en alloc_tagging_slab_free_hook. Para el caso de __GFP_NO_OBJ_EXT, no vi el caso específico en el que se usa kfence, por lo que no agregaré la comprobación correspondiente en alloc_tagging_slab_free_hook por ahora. [ 3.734349] ------------[ cortar aquí ]------------ [ 3.734807] alloc_tag no se configuró [ 3.735129] ADVERTENCIA: CPU: 4 PID: 40 en ./include/linux/alloc_tag.h:130 kmem_cache_free+0x444/0x574 [ 3.735866] Módulos vinculados en: autofs4 [ 3.736211] CPU: 4 UID: 0 PID: 40 Comm: ksoftirqd/4 Contaminado: GW 6.11.0-rc3-dirty #1 [ 3.736969] Contaminado: [W]=WARN [ 3.737258] Nombre del hardware: QEMU KVM Virtual Machine, BIOS desconocido 2/2/2022 [ 3.737875] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 3.738501] pc : kmem_cache_free+0x444/0x574 [ 3.738951] lr : kmem_cache_free+0x444/0x574 [ 3.739361] sp : ffff80008357bb60 [ 3.739693] x29: ffff80008357bb70 x28: 0000000000000000 x27: 0000000000000000 [ 3.740338] x26: ffff80008207f000 x25: ffff000b2eb2fd60 x24: ffff0000c0005700 [ 3.740982] x23: ffff8000804229e4 x22: ffff800082080000 x21: ffff800081756000 [ 3.741630] x20: fffffd7ff8253360 x19: 00000000000000a8 x18: ffffffffffffffffff [ 3.742274] x17: ffff800ab327f000 x16: ffff800083398000 x15: ffff800081756df0 [ 3.742919] x14: 0000000000000000 x13: 205d344320202020 x12: 5b5d373038343337 [ 3.743560] x11: ffff80008357b650 x10: 000000000000005d x9 : 00000000ff ffffd0 [3.744231] x8: 7f7f7f7f7f7f7f7f x7: ffff80008237bad0 x6: c0000000ffff7fff [3.744907] x5: ffff80008237ba78 x4: ffff8000820bbad0 x3: 00000000000000001 [ 3.745580] x2 : 68d66547c09f7800 x1 : 68d66547c09f7800 x0 : 0000000000000000 [ 3.746255] Rastreo de llamadas: [ 3.746530] kmem_cache_free+0x444/0x574 [ 3.746931] mem_pool_free+0x44/0xf4 [ 3.747306] free_object_rcu+0xc8/0xdc [ 3.747693] rcu_do_batch+0x234/0x8a4 [ 3.748075] rcu_core+0x230/0x3e4 [ 3.748424] rcu_core_si+0x14/0x1c [ 3.748780] handle_softirqs+0x134/0x378 [ 3.749189] run_ksoftirqd+0x70/0x9c [ 3.749560] smpboot_thread_fn+0x148/0x22c [ 3.749978] kthread+0x10c/0x118 [ 3.750323] ret_from_fork+0x10/0x20 [ 3.750696] ---[ fin de seguimiento 0000000000000000 ]---
Gravedad CVSS v3.1: MEDIA
Última modificación:
20/11/2024