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 últimas 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 últimas 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 últimas vulnerabilidades incorporadas al repositorio.

Vulnerabilidad en kernel de Linux (CVE-2023-53024)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: Fix pointer-leak due to lowest speculative store bypass mitigation Para mitigar Spectre v4, 2039f26f3aca ("bpf: Fix leakage due to lowest speculative store bypass mitigation") inserta instrucciones lfence después de 1) inicializar una ranura de pila y 2) derramar un puntero a la pila. Sin embargo, esto no cubre los casos en los que una ranura de pila se inicializa primero con un puntero (sujeto a depuración) pero luego se sobrescribe con un escalar (no sujeto a depuración porque la ranura ya estaba inicializada). En este caso, la segunda escritura puede estar sujeta a la derivación de almacén especulativo (SSB), creando una confusión de tipo de puntero especulativo como escalar. Esto permite que el programa filtre posteriormente el valor del puntero numérico utilizando, por ejemplo, un canal lateral de caché basado en bifurcación. Para solucionar esto, también depura los escalares si escriben en una ranura de pila que anteriormente contenía un puntero. Suponiendo que los derrames de puntero solo son generados por LLVM bajo presión de registro, el impacto en el rendimiento de la mayoría de los programas BPF del mundo real debería ser mínimo. El siguiente código de bytes BPF sin privilegios describe un exploit mínimo y su mitigación: [...] // r6 = 0 o 1 (escalar, entrada de usuario desconocida) // r7 = ptr accesible para canal lateral // r10 = puntero de trama (fp), a filtrar // r9 = r10 # alias de fp para fomentar ssb *(u64 *)(r9 - 8) = r10 // fp[-8] = ptr, a filtrar // Se añadió lfence debido al derrame de puntero a la pila. // // Omitido: bpf_ringbuf_output() ficticio para entrenar el predictor de alias // para la ausencia de dependencia entre r9 y r10. // *(u64 *)(r10 - 8) = r6 // fp[-8] = escalar, sobrescribe ptr // 2039f26f3aca: no se agregó lfence porque la ranura de pila no era STACK_INVALID, // el almacenamiento puede estar sujeto a SSB // // corrección: también se agrega una lfence cuando la ranura contenía un ptr // r8 = *(u64 *)(r9 - 8) // r8 = arquitectónicamente un escalar, especulativamente un ptr // // fuga de ptr usando el canal lateral de caché basado en ramas: r8 &= 1 // elige el bit a fugar si r8 == 0 goto SLOW // sin predicción errónea // código arquitectónicamente muerto si la entrada r6 es 0, // solo se ejecuta especulativamente si el bit ptr es 1 r8 = *(u64 *)(r7 + 0) # codificar bit en caché (0: lento, 1: rápido) SLOW: [...] Después de ejecutar esto, el programa Puede cronometrar el acceso a *(r7 + 0) para determinar si el bit de puntero seleccionado era 0 o 1. Repita esto 64 veces para recuperar la dirección completa en amd64. En resumen, la depuración solo se puede omitir si un escalar se sobrescribe con otro. La confusión escalar debido a la omisión del almacenamiento especulativo no puede conducir a accesos inválidos porque los límites del puntero deducidos durante la verificación se aplican mediante lógica sin ramificaciones. Consulte 979d63d50c0c ("bpf: evitar especulación fuera de los límites en aritmética de punteros") para obtener más detalles. No haga que la mitigación dependa de !env->allow_{uninit_stack,ptr_leaks} porque es probable que se produzcan fugas especulativas inesperadas si se habilitan. Por ejemplo, filtrar la dirección a un archivo de registro protegido puede ser aceptable, mientras que deshabilitar la mitigación podría filtrar involuntariamente la dirección al estado en caché de un mapa al que pueden acceder procesos sin privilegios.
Gravedad CVSS v3.1: ALTA
Última modificación:
22/01/2026

Vulnerabilidad en kernel de Linux (CVE-2023-53021)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net/sched: sch_taprio: corrección de posible error de use-after-free syzbot reportó un fallo grave [1] en net_tx_action() que no tenía sentido hasta que se reprodujo. Esta reproducción instala una qdisc de Taprio, pero proporciona un atributo TCA_RATE no válido. qdisc_create() debe destruir la qdisc de Taprio recién inicializada, y se llama a taprio_destroy(). Sin embargo, el temporizador hr usado por Taprio ya se había ejecutado, por lo que advance_sched() llamó a __netif_schedule(). Entonces, net_tx_action intentaba usar una qdisc destruida. No podemos deshacer __netif_schedule(), por lo que debemos esperar a que una CPU haya dado servicio a la qdisc antes de continuar. Muchas gracias a Alexander Potapenko por su ayuda. [1] ERROR: KMSAN: valor no inicializado en queued_spin_trylock include/asm-generic/qspinlock.h:94 [en línea] ERROR: KMSAN: valor no inicializado en do_raw_spin_trylock include/linux/spinlock.h:191 [en línea] ERROR: KMSAN: valor no inicializado en __raw_spin_trylock include/linux/spinlock_api_smp.h:89 [en línea] ERROR: KMSAN: valor no inicializado en _raw_spin_trylock+0x92/0xa0 kernel/locking/spinlock.c:138 queued_spin_trylock include/asm-generic/qspinlock.h:94 [en línea] do_raw_spin_trylock include/linux/spinlock.h:191 [en línea] __raw_spin_trylock incluir/linux/spinlock_api_smp.h:89 [en línea] _raw_spin_trylock+0x92/0xa0 kernel/locking/spinlock.c:138 spin_trylock incluir/linux/spinlock.h:359 [en línea] qdisc_run_begin incluir/net/sch_generic.h:187 [en línea] qdisc_run+0xee/0x540 incluir/net/pkt_sched.h:125 net_tx_action+0x77c/0x9a0 net/core/dev.c:5086 __do_softirq+0x1cc/0x7fb kernel/softirq.c:571 run_ksoftirqd+0x2c/0x50 kernel/softirq.c:934 smpboot_thread_fn+0x554/0x9f0 kernel/smpboot.c:164 kthread+0x31b/0x430 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 Uninit se creó en: slab_post_alloc_hook mm/slab.h:732 [en línea] slab_alloc_node mm/slub.c:3258 [en línea] __kmalloc_node_track_caller+0x814/0x1250 mm/slub.c:4970 kmalloc_reserve net/core/skbuff.c:358 [en línea] __alloc_skb+0x346/0xcf0 net/core/skbuff.c:430 alloc_skb include/linux/skbuff.h:1257 [en línea] nlmsg_new include/net/netlink.h:953 [en línea] netlink_ack+0x5f3/0x12b0 net/netlink/af_netlink.c:2436 netlink_rcv_skb+0x55d/0x6c0 net/netlink/af_netlink.c:2507 rtnetlink_rcv+0x30/0x40 net/core/rtnetlink.c:6108 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [en línea] netlink_unicast+0xf3b/0x1270 net/netlink/af_netlink.c:1345 netlink_sendmsg+0x1288/0x1440 net/netlink/af_netlink.c:1921 sock_sendmsg_nosec net/socket.c:714 [en línea] sock_sendmsg net/socket.c:734 [en línea] ____sys_sendmsg+0xabc/0xe90 net/socket.c:2482 ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2536 __sys_sendmsg net/socket.c:2565 [en línea] __do_sys_sendmsg net/socket.c:2574 [en línea] __se_sys_sendmsg net/socket.c:2572 [en línea] __x64_sys_sendmsg+0x367/0x540 net/socket.c:2572 do_syscall_x64 arch/x86/entry/common.c:50 [en línea] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd CPU: 0 PID: 13 Comm: ksoftirqd/0 No contaminado 6.0.0-rc2-syzkaller-47461-gac3859c02d7f #0 Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 22/07/2022
Gravedad CVSS v3.1: ALTA
Última modificación:
01/04/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53023)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: nfc: Se corrige use-after-free en local_cleanup() Corrige un use-after-free que ocurre en kfree_skb() llamado desde local_cleanup(). Esto podría suceder al matar el demonio nfc (p. ej., neard) después de desconectar un dispositivo nfc. Al desconectar un dispositivo nfc, local_cleanup() llamado desde nfc_llcp_unregister_device() libera local->rx_pending y disminuye local->ref por kref_put() en nfc_llcp_local_put(). En el proceso de terminación, el demonio nfc libera todos los sockets y esto lleva a la disminución de local->ref. Después de la última liberación de local->ref, local_cleanup() llamado desde local_release() libera local->rx_pending de nuevo, lo que conduce al error. Establecer local->rx_pending como NULL en local_cleanup() podría impedir el use-after-free al llamar a local_cleanup() dos veces. Encontrado por una versión modificada de syzkaller. ERROR: KASAN: use-after-free en el seguimiento de llamadas kfree_skb(): dump_stack_lvl (lib/dump_stack.c:106) print_address_description.constprop.0.cold (mm/kasan/report.c:306) kasan_check_range (mm/kasan/generic.c:189) kfree_skb (net/core/skbuff.c:955) local_cleanup (net/nfc/llcp_core.c:159) nfc_llcp_local_put.part.0 (net/nfc/llcp_core.c:172) nfc_llcp_local_put (net/nfc/llcp_core.c:181) llcp_sock_destruct (net/nfc/llcp_sock.c:959) __sk_destruct (net/core/sock.c:2133) sk_destruct (net/core/sock.c:2181) __sk_free (net/core/sock.c:2192) sk_free (net/core/sock.c:2203) llcp_sock_release (net/nfc/llcp_sock.c:646) __sock_release (net/socket.c:650) sock_close (net/socket.c:1365) __fput (fs/file_table.c:306) task_work_run (kernel/task_work.c:179) ptrace_notify (kernel/signal.c:2354) syscall_exit_to_user_mode_prepare (kernel/entry/common.c:278) syscall_exit_to_user_mode (kernel/entry/common.c:296) do_syscall_64 (arch/x86/entry/common.c:86) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:106) Asignado por la tarea 4719: kasan_save_stack (mm/kasan/common.c:45) __kasan_slab_alloc (mm/kasan/common.c:325) slab_post_alloc_hook (mm/slab.h:766) kmem_cache_alloc_node (mm/slub.c:3497) __alloc_skb (net/core/skbuff.c:552) pn533_recv_response (drivers/nfc/pn533/usb.c:65) __usb_hcd_giveback_urb (controladores/usb/core/hcd.c:1671) usb_giveback_urb_bh (controladores/usb/core/hcd.c:1704) tasklet_action_common.isra.0 (kernel/softirq.c:797) __do_softirq (kernel/softirq.c:571) Liberado por la tarea 1901: kasan_save_stack (mm/kasan/common.c:45) kasan_set_track (mm/kasan/common.c:52) kasan_save_free_info (mm/kasan/genericdd.c:518) __kasan_slab_free (mm/kasan/common.c:236) kmem_cache_free (mm/slub.c:3809) kfree_skbmem (net/core/skbuff.c:874) kfree_skb (net/core/skbuff.c:931) limpieza local (net/nfc/llcp_core.c:159) nfc_llcp_unregister_device (net/nfc/llcp_core.c:1617) nfc_unregister_device (net/nfc/core.c:1179) pn53x_unregister_nfc (drivers/nfc/pn533/pn533.c:2846) pn533_usb_disconnect (drivers/nfc/pn533/usb.c:579) usb_unbind_interface (drivers/usb/core/driver.c:458) device_release_driver_internal (drivers/base/dd.c:1279) bus_remove_device (drivers/base/bus.c:529) device_del (drivers/base/core.c:3665) usb_disable_device (drivers/usb/core/message.c:1420) usb_disconnect (drivers/usb/core.c:2261) hub_event (drivers/usb/core/hub.c:5833) process_one_work (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:212 include/trace/events/workqueue.h:108 kernel/workqueue.c:2281) worker_thread (include/linux/list.h:282 kernel/workqueue.c:2423) kthread (kernel/kthread.c:319) ret_from_fork (arch/x86/entry/entry_64.S:301)
Gravedad CVSS v3.1: ALTA
Última modificación:
01/04/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53010)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bnxt: No leer más allá del final de los nombres de prueba Los nombres de prueba se estaban concatenando en función de un desplazamiento más allá del final del primer nombre, lo que activaba la lógica de detección de desbordamiento de búfer: desbordamiento de búfer detectado en strnlen [...] Seguimiento de llamadas: bnxt_ethtool_init.cold+0x18/0x18 Refactorice la estructura hwrm_selftest_qlist_output para usar una matriz real y ajuste la concatenación para usar snprintf() en lugar de una serie de llamadas strncat().
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53011)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: stmmac: habilitar todas las funciones de seguridad por defecto. En la implementación original del commit 8bf993a5877e de dwmac5 ("net: stmmac: Añadir soporte para DWMAC5 e implementar funciones de seguridad"), todas las funciones de seguridad estaban habilitadas por defecto. Posteriormente, parece que algunas implementaciones no eran compatibles con todas las funciones, por lo que en el commit 5ac712dcdfef ("net: stmmac: habilitar funciones de seguridad específicas de la plataforma") se añadió la estructura safety_feat_cfg a la devolución de llamada y se definió para algunas plataformas con el fin de habilitar selectivamente estas funciones de seguridad. El problema radica en que solo ciertas plataformas recibieron este soporte de software. Si el bit del paquete de seguridad automotriz está configurado en el registro de características de hardware, se llama a la devolución de llamada de la característica de seguridad para la plataforma y, para las plataformas que no tienen un safety_feat_cfg definido, esto da como resultado la siguiente desreferencia de puntero NULL: [7.933303] Rastreo de llamada: [ 7.935812] dwmac5_safety_feat_config+0x20/0x170 [stmmac] [ 7.941455] __stmmac_open+0x16c/0x474 [stmmac] [ 7.946117] stmmac_open+0x38/0x70 [stmmac] [ 7.950414] __dev_open+0x100/0x1dc [ 7.954006] __dev_change_flags+0x18c/0x204 [ 7.958297] dev_change_flags+0x24/0x6c [ 7.962237] do_setlink+0x2b8/0xfa4 [ 7.965827] __rtnl_newlink+0x4ec/0x840 [ 7.969766] rtnl_newlink+0x50/0x80 [ 7.973353] rtnetlink_rcv_msg+0x12c/0x374 [ 7.977557] netlink_rcv_skb+0x5c/0x130 [ 7.981500] rtnetlink_rcv+0x18/0x2c [ 7.985172] netlink_unicast+0x2e8/0x340 [ 7.989197] netlink_sendmsg+0x1a8/0x420 [ 7.993222] ____sys_sendmsg+0x218/0x280 [ 7.997249] ___sys_sendmsg+0xac/0x100 [ 8.001103] __sys_sendmsg+0x84/0xe0 [ 8.004776] __arm64_sys_sendmsg+0x24/0x30 [ 8.008983] invoke_syscall+0x48/0x114 [ 8.012840] el0_svc_common.constprop.0+0xcc/0xec [ 8.017665] do_el0_svc+0x38/0xb0 [ 8.021071] el0_svc+0x2c/0x84 [ 8.024212] el0t_64_sync_handler+0xf4/0x120 [ 8.028598] el0t_64_sync+0x190/0x194 Regrese al comportamiento original, si se descubre que el paquete de seguridad automotriz es compatible con el hardware, habilite todas las funciones a menos que se pase safety_feat_cfg indicando que esta plataforma en particular solo admite un subconjunto de las funciones.
Gravedad CVSS v3.1: MEDIA
Última modificación:
01/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53012)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: thermal: core: llamar a put_device() solo después de que device_register() falle. No se debe llamar a put_device() antes de una llamada previa a device_register(). __thermal_cooling_device_register() no sigue esto correctamente y necesita solución. Además, se llama a thermal_cooling_device_destroy_sysfs() innecesariamente en algunas rutas de error. Para solucionar esto, coloque las llamadas en el lugar correcto. Basado en el trabajo inicial de Caleb Connolly.
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53013)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ptdma: pt_core_execute_cmd() debería usar un bloqueo de giro. El manejador de interrupciones (pt_core_irq_handler()) del controlador ptdma puede llamarse desde el contexto de interrupción. El flujo de código en esta función puede derivar en pt_core_execute_cmd(), que intentará obtener un mutex, lo cual no es apropiado en el contexto de interrupción y, en última instancia, provoca un pánico del kernel. Esta corrección convierte este mutex en un bloqueo de giro, lo cual se ha verificado para resolver el problema.
Gravedad CVSS v3.1: MEDIA
Última modificación:
01/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53014)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: dmaengine: tegra: Se corrige la fuga de memoria en la función "terminate_all()". Se finaliza vdesc al finalizar una transferencia en curso. Esto garantiza que vdesc esté presente en la lista "desc_terminated". El descriptor se liberará posteriormente en "desc_free_list()". Esto corrige las fugas de memoria que pueden ocurrir al finalizar una transferencia en curso.
Gravedad CVSS v3.1: MEDIA
Última modificación:
01/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53015)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: HID: betop: comprobar la forma de los informes de salida. betopff_init() solo comprueba que la suma total de los recuentos de informes de cada campo sea al menos 4, pero hid_betopff_play() espera 4 campos. Un dispositivo que anuncia un informe de salida con un campo y 4 recuentos superaría la comprobación, pero bloquearía el kernel con una desreferencia de puntero NULL en hid_betopff_play().
Gravedad CVSS v3.1: MEDIA
Última modificación:
01/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53016)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: Se soluciona un posible bloqueo en rfcomm_sk_state_change syzbot informa de un posible bloqueo en rfcomm_sk_state_change [1]. Mientras rfcomm_sock_connect adquiere el bloqueo sk y espera el bloqueo rfcomm, rfcomm_sock_release podría tener el bloqueo rfcomm y llegar a un bloqueo para adquirir el bloqueo sk. Aquí hay un flujo simplificado: rfcomm_sock_connect: lock_sock(sk) rfcomm_dlc_open: rfcomm_lock() rfcomm_sock_release: rfcomm_sock_shutdown: rfcomm_lock() __rfcomm_dlc_close: rfcomm_k_state_change: lock_sock(sk) Este parche elimina el bloqueo de sk antes de llamar a rfcomm_dlc_open para evitar el posible bloqueo y mantiene el recuento de referencia de sk para evitar el use-after-free después de que se completa rfcomm_dlc_open.
Gravedad CVSS v3.1: MEDIA
Última modificación:
01/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53002)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/i915: Se solucionó una fuga de memoria con la reutilización de mmap_offset. drm_vma_node_allow() y drm_vma_node_revoke() deben llamarse en pares equilibrados. Se llama a drm_vma_node_allow() una vez por archivo cada vez que un usuario llama a mmap_offset, pero solo se llama a drm_vma_node_revoke una vez por archivo en cada mmap_offset. Dado que el cliente reutiliza mmap_offset, el valor de vm_count por archivo puede ser distinto de cero y el árbol rb se filtra. En su lugar, se llama a drm_vma_node_allow_once() para evitar esta fuga de memoria.
Gravedad CVSS v3.1: MEDIA
Última modificación:
01/10/2025

Vulnerabilidad en kernel de Linux (CVE-2023-53003)

Fecha de publicación:
27/03/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: EDAC/qcom: No pasar llcc_driv_data como pvt_info de edac_device_ctl_info. El controlador LLCC asigna memoria para llcc_driv_data. Sin embargo, al pasarla como información privada del controlador al núcleo de EDAC, se libera durante la liberación del controlador qcom_edac. Por lo tanto, al volver a probar el controlador qcom_edac, intentará usar los datos liberados, lo que provoca el error de use-after-free. Por lo tanto, no pasar llcc_driv_data como pvt_info, sino referenciarlo mediante el puntero platform_data en el controlador qcom_edac.
Gravedad CVSS v3.1: ALTA
Última modificación:
01/04/2025