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-2022-49236)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: Arreglar UAF debido a la ejecución entre btf_try_get_module y load_module Mientras trabajaba en el código para rellenar los conjuntos de ID de BTF de kfunc para el módulo BTF desde su initcall, noté que para el momento en que se invoca la initcall, el espacio de usuario (y el verificador BPF) ya puede ver el módulo BTF. El btf_try_get_module existente llama a try_module_get, que solo falla si mod->state == MODULE_STATE_GOING, es decir, puede incrementar la referencia del módulo cuando la initcall del módulo está sucediendo en paralelo. Actualmente, el análisis de BTF ocurre desde la devolución de llamada del notificador MODULE_STATE_COMING. En este punto, las initcalls del módulo no han sido invocadas. La devolución de llamada del notificador analiza y prepara el módulo BTF, asigna un ID, que lo publica en el espacio de usuario y luego lo agrega a la lista btf_modules, lo que permite que el núcleo invoque btf_try_get_module para el BTF. Sin embargo, en este punto, el módulo no se ha inicializado por completo (es decir, sus llamadas de inicio no han finalizado). El código en module.c aún puede fallar y liberar el módulo, sin preocuparse por otros usuarios. Sin embargo, nada impide que btf_try_get_module tenga éxito entre la transición de estado de MODULE_STATE_COMING a MODULE_STATE_LIVE. Esto conduce a un problema de use-after-free cuando el programa BPF se carga correctamente en la transición de estado, la llamada do_init_module de load_module falla y libera el módulo, y el programa BPF fd al cerrar llama a module_put para el módulo liberado. El parche futuro tiene un caso de prueba para verificar que no retrocedamos en esta área en el futuro. Hay varios puntos después de prepare_coming_module (en load_module) donde puede ocurrir un fallo y la carga del módulo puede devolver un error. Ilustramos y probamos la ejecución usando el último punto donde puede ocurrir prácticamente (en la función __init del módulo). Una ilustración de la ejecución: CPU 0 CPU 1 load_module notifier_call(MODULE_STATE_COMING) btf_parse_module btf_alloc_id // Publicado en el espacio de usuario list_add(&btf_mod->list, btf_modules) mod->init(...) ... ^ bpf_check | check_pseudo_btf_id | btf_try_get_module | devuelve verdadero | ... ... | módulo __init en progreso devuelve prog_fd | ... ... V if (ret < 0) free_module(mod) ... close(prog_fd) ... bpf_prog_free_deferred module_put(used_btf.mod) // use-after-free Solucionamos este problema estableciendo un indicador BTF_MODULE_F_LIVE, desde la devolución de llamada del notificador cuando se alcanza el estado MODULE_STATE_LIVE para el módulo, de modo que devolvamos NULL desde btf_try_get_module para los módulos que no están completamente formados. Dado que try_module_get ya verifica que el módulo no esté en el estado MODULE_STATE_GOING, y esa es la única transición que un módulo activo puede hacer antes de ser eliminado de la lista btf_modules, esto es suficiente para cerrar la ejecución y evitar el error. Un parche de autoprueba posterior crea la condición de ejecución artificialmente para verificar que se ha solucionado, y que el verificador no puede cargar el programa (con ENXIO). Por último, un par de comentarios: 1. Incluso si esta ejecución no existiera, parece más apropiado acceder solo a los recursos (ksyms y kfuncs) de un módulo completamente formado que se haya inicializado por completo. 2. Este parche nació de la necesidad de sincronización con el módulo initcall para el próximo parche, por lo que es necesario para la corrección incluso sin la condición de ejecución mencionada anteriormente. Los recursos BTF inicializados por el módulo initcall se configuran una vez y luego solo se buscan, por lo que simplemente esperar hasta que el initcall haya terminado garantiza un comportamiento correcto.
Gravedad CVSS v3.1: ALTA
Última modificación:
25/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49238)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ath11k: liberar un peer para la estación cuando se desconecta del AP para QCA6390/WCN6855. el commit b4a0f54156ac ("ath11k: mover la eliminación del peer después de la detención del vdev de la estación para QCA6390 y WCN6855") es para reparar un fallo del firmware modificando la secuencia de comandos WMI, pero en realidad omite toda la operación de eliminación del peer, por lo que el commit 58595c9874c6 ("ath11k: solucionar el problema del puntero colgante tras un fallo en la eliminación del peer") no tiene efecto y, a continuación, aparece una advertencia de uso tras liberación de KASAN, porque peer->sta no está configurado en NULL y se utiliza más tarde. Se cambia para omitir solo WMI_PEER_DELETE_CMDID para QCA6390/WCN6855. registro de usuario después de liberación: [ 534.888665] ERROR: KASAN: use-after-free en ath11k_dp_rx_update_peer_stats+0x912/0xc10 [ath11k] [ 534.888696] Lectura de tamaño 8 en la dirección ffff8881396bb1b8 por la tarea rtcwake/2860 [ 534.888705] CPU: 4 PID: 2860 Comm: rtcwake Kdump: cargado Tainted: GW 5.15.0-wt-ath+ #523 [ 534.888712] Nombre del hardware: Intel(R) Client Systems NUC8i7HVK/NUC8i7HVB, BIOS HNKBLi70.86A.0067.2021.0528.1339 28/05/2021 [ 534.888716] Seguimiento de llamadas: [ 534.888720] [ 534.888726] dump_stack_lvl+0x57/0x7d [ 534.888736] print_address_description.constprop.0+0x1f/0x170 [ 534.888745] ? ath11k_dp_rx_update_peer_stats+0x912/0xc10 [ath11k] [ 534.888771] kasan_report.cold+0x83/0xdf [ 534.888783] ? ath11k_dp_rx_update_peer_stats+0x912/0xc10 [ath11k] [ 534.888810] ath11k_dp_rx_update_peer_stats+0x912/0xc10 [ath11k] [ 534.888840] ath11k_dp_rx_process_mon_status+0x529/0xa70 [ath11k] [ 534.888874] ? ath11k_dp_rx_mon_status_bufs_replenish+0x3f0/0x3f0 [ath11k] [ 534.888897] ? check_prev_add+0x20f0/0x20f0 [ 534.888922] ? __lock_acquire+0xb72/0x1870 [ 534.888937] ? find_held_lock+0x33/0x110 [ 534.888954] ath11k_dp_rx_process_mon_rings+0x297/0x520 [ath11k] [ 534.888981] ? rcu_read_unlock+0x40/0x40 [ 534.888990] ? ath11k_dp_rx_pdev_alloc+0xd90/0xd90 [ath11k] [ 534.889026] ath11k_dp_service_mon_ring+0x67/0xe0 [ath11k] [ 534.889053] ? ath11k_dp_rx_process_mon_rings+0x520/0x520 [ath11k] [ 534.889075] call_timer_fn+0x167/0x4a0 [ 534.889084] ? add_timer_on+0x3b0/0x3b0 [ 534.889103] ? lockdep_hardirqs_on_prepare.part.0+0x18c/0x370 [ 534.889117] __run_timers.part.0+0x539/0x8b0 [ 534.889123] ? ath11k_dp_rx_process_mon_rings+0x520/0x520 [ath11k] [ 534.889157] ? call_timer_fn+0x4a0/0x4a0 [ 534.889164] ? mark_lock_irq+0x1c30/0x1c30 [ 534.889173] ? clockevents_program_event+0xdd/0x280 [ 534.889189] ? mark_held_locks+0xa5/0xe0 [ 534.889203] run_timer_softirq+0x97/0x180 [ 534.889213] __do_softirq+0x276/0x86a [ 534.889230] __irq_exit_rcu+0x11c/0x180 [ 534.889238] irq_exit_rcu+0x5/0x20 [ 534.889244] sysvec_apic_timer_interrupt+0x8e/0xc0 [ 534.889251] [ 534.889254] [ 534.889259] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ 534.889265] RIP: 0010:_raw_spin_unlock_irqrestore+0x38/0x70 [ 534.889271] Código: 74 24 10 e8 ea c2 bf fd 48 89 ef e8 12 53 c0 fd 81 e3 00 02 00 00 75 25 9c 58 f6 c4 02 75 2d 48 85 db 74 01 fb bf 01 00 00 00 13 a7 b5 fd 65 8b 05 cc d9 9c 5e 85 c0 74 0a 5b 5d c3 e8 a0 ee [ 534.889276] RSP: 0018:ffffc90002e5f880 EFLAGS: 00000206 [ 534.889284] RAX: 00000000000000006 RBX: 00000000000000200 RCX: ffffffff9f256f10 [ 534.889289] RDX: 00000000000000000 RSI: fffffffa1c6e420 RDI: 00000000000000001 [ 534.889293] RBP: ffff8881095e6200 R08: 00000000000000001 R09: ffffffffa40d2b8f [ 534.889298] R10: fffffbfff481a571 R11: 0000000000000001 R12: ffff8881095e6e68 [ 534.889302] R13: ffffc90002e5f908 R14: 0000000000000246 R15: 0000000000000000 [ 534.889316] ? mark_lock+0xd0/0x14a0 [ 534.889332] klist_next+0x1d4/0x450 [ 534.889340] ? dpm_wait_for_subordinate+0x2d0/0x2d0 [ 534.889350] device_for_each_child+0xa8/0x140 [ 534.889360] ? device_remove_class_symlinks+0x1b0/0x1b0 [ 534.889370] ? __lock_release+0x4bd/0x9f0 [ 534.889378] ? dpm_suspend+0x26b/0x3f0 [ 534.889390] ---truncado---
Gravedad CVSS v3.1: ALTA
Última modificación:
25/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49240)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: mediatek: mt8195: Se corrige la gestión de errores en mt8195_mt6359_rt1019_rt5682_dev_probe El puntero device_node es devuelto por of_parse_phandle() con refcount incrementado. Deberíamos usar of_node_put() en él cuando haya terminado. Esta función solo llama a of_node_put() en la ruta regular. Y provocará una fuga de refcount en la ruta de error.
Gravedad CVSS v3.1: MEDIA
Última modificación:
17/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49230)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mt76: mt7915: corrige una posible pérdida de memoria en mt7915_mcu_add_sta. Libera skb asignado en la rutina mt7915_mcu_add_sta en caso de fallo.
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49231)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: rtw88: se corrige el desbordamiento de memoria y la pérdida de memoria durante hw_scan Anteriormente, asignábamos menos memoria de la que realmente se requería, la sobrescritura en el búfer hace que el módulo mm se queje y genere fallos de violación de acceso. Junto con posibles pérdidas de memoria cuando se devuelve antes. Solucione estos problemas pasando el tamaño correcto y el flujo de deinit adecuado.
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49232)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Corrige una desreferencia de puntero NULL en amdgpu_dm_connector_add_common_modes() En amdgpu_dm_connector_add_common_modes(), amdgpu_dm_create_common_mode() se asigna a mode y se pasa a drm_mode_probed_add() directamente después de eso. drm_mode_probed_add() pasa &mode->head a list_add_tail(), y hay una desreferencia de este en list_add_tail() sin recuperaciones, lo que podría provocar una desreferencia de puntero NULL en caso de fallo de amdgpu_dm_create_common_mode(). Corrige esto agregando una comprobación NULL de mode. Este error fue encontrado por un analizador estático. Las compilaciones con 'make allyesconfig' no muestran nuevas advertencias y nuestro analizador estático ya no advierte sobre este código.
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49233)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Llamar a dc_stream_release para eliminar la asignación de enc de enlace [Por qué] Un error de portabilidad provocó que la asignación de flujo para el enlace se mantuviera sin liberarse: una pérdida de memoria. [Cómo] Corrija el error de portabilidad agregando nuevamente dc_stream_release() previsto como parte del parche original.
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49235)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ath9k_htc: corregir errores de valores no inicializados Syzbot informó de 2 errores de KMSAN en ath9k. Todos ellos son causados por la falta de inicialización de campos. En htc_connect_service(), svc_meta_len y pad no se inicializan. Según el código, parece que en el skb actual no hay datos de servicio, por lo que simplemente inicialice svc_meta_len a 0. htc_issue_send() no inicializa la matriz htc_frame_hdr::control. Basado en el código del firmware, lo inicializará por sí mismo, así que simplemente ponga a cero toda la matriz para que KMSAN esté contento Registros de errores: ERROR: KMSAN: kernel-usb-infoleak en usb_submit_urb+0x6c1/0x2aa0 drivers/usb/core/urb.c:430 usb_submit_urb+0x6c1/0x2aa0 drivers/usb/core/urb.c:430 hif_usb_send_regout drivers/net/wireless/ath/ath9k/hif_usb.c:127 [en línea] hif_usb_send+0x5f0/0x16f0 drivers/net/wireless/ath/ath9k/hif_usb.c:479 htc_issue_send drivers/net/wireless/ath/ath9k/htc_hst.c:34 [en línea] htc_connect_service+0x143e/0x1960 drivers/net/wireless/ath/ath9k/htc_hst.c:275 ... Uninit se creó en: slab_post_alloc_hook mm/slab.h:524 [en línea] slab_alloc_node mm/slub.c:3251 [en línea] __kmalloc_node_track_caller+0xe0c/0x1510 mm/slub.c:4974 kmalloc_reserve net/core/skbuff.c:354 [en línea] __alloc_skb+0x545/0xf90 net/core/skbuff.c:426 alloc_skb include/linux/skbuff.h:1126 [en línea] htc_connect_service+0x1029/0x1960 drivers/net/wireless/ath/ath9k/htc_hst.c:258 ... Los bytes 4-7 de 18 no están inicializados El acceso a la memoria de tamaño 18 comienza en ffff888027377e00 ERROR: KMSAN: kernel-usb-infoleak en usb_submit_urb+0x6c1/0x2aa0 drivers/usb/core/urb.c:430 usb_submit_urb+0x6c1/0x2aa0 drivers/usb/core/urb.c:430 hif_usb_send_regout drivers/net/wireless/ath/ath9k/hif_usb.c:127 [en línea] hif_usb_send+0x5f0/0x16f0 drivers/net/wireless/ath/ath9k/hif_usb.c:479 htc_issue_send drivers/net/wireless/ath/ath9k/htc_hst.c:34 [en línea] htc_connect_service+0x143e/0x1960 drivers/net/wireless/ath/ath9k/htc_hst.c:275 ... Uninit se creó en: slab_post_alloc_hook mm/slab.h:524 [en línea] slab_alloc_node mm/slub.c:3251 [en línea] __kmalloc_node_track_caller+0xe0c/0x1510 mm/slub.c:4974 kmalloc_reserve net/core/skbuff.c:354 [en línea] __alloc_skb+0x545/0xf90 net/core/skbuff.c:426 alloc_skb include/linux/skbuff.h:1126 [en línea] htc_connect_service+0x1029/0x1960 drivers/net/wireless/ath/ath9k/htc_hst.c:258 ... Los bytes 16-17 de 18 no están inicializados. El acceso a la memoria de tamaño 18 comienza en ffff888027377e00
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49237)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ath11k: agregar la función of_node_put() faltante para evitar fugas El puntero de nodo es devuelto por of_find_node_by_type() o por of_parse_phandle() con refcount incrementado. Llamar a of_node_put() para evitar la fuga de refcount.
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49239)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: codecs: wcd934x: Agregar la falta de of_node_put() en wcd934x_codec_parse_data El puntero device_node es devuelto por of_parse_phandle() con refcount incrementado. Deberíamos usar of_node_put() en él cuando haya terminado. Esto es similar a el commit 64b92de9603f ("ASoC: wcd9335: corregir una referencia filtrada agregando la falta de of_node_put")
Gravedad CVSS v3.1: MEDIA
Última modificación:
18/03/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49234)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: dsa: Evitar la sincronización entre chips del filtrado de VLAN Los cambios en el filtrado de VLAN no son aplicables a las notificaciones entre chips. En un sistema como este: .-----. .-----. .-----. | sw1 +---+ sw2 +---+ sw3 | '-1-2-' '-1-2-' '-1-2-' Antes de este cambio, al salir sw1p1 de un puente, también se realizaba una llamada a dsa_port_vlan_filtering a sw2p1 y sw3p1. En este escenario: .---------. .-----. .-----. | sw1 +---+ sw2 +---+ sw3 | '-1-2-3-4-' '-1-2-' '-1-2-' Cuando sw1p4 abandonara un puente, se llamaría a dsa_port_vlan_filtering para sw2 y sw3 con un puerto inexistente, lo que provocaría accesos fuera de los límites de la matriz y fallos en mv88e6xxx.
Gravedad: Pendiente de análisis
Última modificación:
26/02/2025

Vulnerabilidad en kernel de Linux (CVE-2022-49223)

Fecha de publicación:
26/02/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: cxl/port: Mantener la referencia del puerto hasta la liberación del decodificador KASAN + DEBUG_KOBJECT_RELEASE informa un posible use-after-free en cxl_decoder_release() donde va a referenciar a su padre, un cxl_port, para liberar su id a port->decoder_ida. ERROR: KASAN: use-after-free en to_cxl_port+0x18/0x90 [cxl_core] Lectura de tamaño 8 en la dirección ffff888119270908 por la tarea kworker/35:2/379 CPU: 35 PID: 379 Comm: kworker/35:2 Contaminado: G OE 5.17.0-rc2+ #198 Nombre del hardware: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 Cola de trabajo: eventos kobject_delayed_cleanup Rastreo de llamadas: dump_stack_lvl+0x59/0x73 print_address_description.constprop.0+0x1f/0x150 ? to_cxl_port+0x18/0x90 [cxl_core] kasan_report.cold+0x83/0xdf ? to_cxl_port+0x18/0x90 [cxl_core] to_cxl_port+0x18/0x90 [cxl_core] cxl_decoder_release+0x2a/0x60 [cxl_core] device_release+0x5f/0x100 kobject_cleanup+0x80/0x1c0 El núcleo del dispositivo solo garantiza la duración del elemento primario hasta que se anule el registro de todos los elementos secundarios. Si un elemento secundario necesita un elemento primario para completar su devolución de llamada ->release(), ese elemento secundario debe contener una referencia para extender la duración del elemento primario.
Gravedad CVSS v3.1: ALTA
Última modificación:
25/03/2025