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 Linux (CVE-2026-23100)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> mm/hugetlb: corregir hugetlb_pmd_shared()<br /> <br /> Serie de parches &amp;#39;mm/hugetlb: correcciones para el uso compartido de tablas PMD (incl. el uso de mmu_gather)&amp;#39;, v3.<br /> <br /> Una corrección funcional, una corrección de regresión de rendimiento y dos correcciones de comentarios relacionadas.<br /> <br /> Limpié mi prototipo que compartí recientemente [1] para la corrección de rendimiento, aplazando la mayoría de las limpiezas que tenía en el prototipo para un momento posterior. Mientras hacía eso, identifiqué las otras cosas.<br /> <br /> El objetivo de este conjunto de parches es ser retroportado a árboles estables "bastante" fácilmente. Al menos el parche #1 y #4.<br /> <br /> El parche #1 corrige que hugetlb_pmd_shared() no detecte ningún uso compartido.<br /> El parche #2 + #3 son simples correcciones de comentarios con las que el parche #4 interactúa.<br /> El parche #4 es una corrección para la regresión de rendimiento reportada debido a transmisiones IPI excesivas durante fork()+exit().<br /> <br /> El último parche trata sobre vaciados de TLB, IPIs y mmu_gather.<br /> Léase: complicado<br /> <br /> Hay muchas limpiezas por hacer en el futuro + una optimización razonable en x86. Pero todo eso está fuera del alcance de esta serie.<br /> <br /> Probado en tiempo de ejecución, con un enfoque en corregir la regresión de rendimiento usando el reproductor original [2] en x86.<br /> <br /> Este parche (de 4):<br /> <br /> Cambiamos de usar (erróneamente) el recuento de páginas a un recuento compartido independiente. Ahora, las tablas de páginas compartidas tienen un refcount de 1 (excluyendo referencias especulativas) y en su lugar usan ptdesc-&amp;gt;pt_share_count para identificar el uso compartido.<br /> <br /> No convertimos hugetlb_pmd_shared(), así que ahora mismo, nunca detectaríamos una tabla PMD compartida como tal, porque compartir/dejar de compartir ya no afecta el refcount de una tabla PMD.<br /> <br /> La migración de páginas, como mbind() o migrate_pages(), permitiría migrar folios mapeados en dichas tablas PMD compartidas, aunque los folios no sean exclusivos. En smaps los contabilizaríamos como "privados" aunque sean "compartidos", y estaríamos configurando erróneamente el PM_MMAP_EXCLUSIVE en la interfaz pagemap.<br /> <br /> Corregirlo usando correctamente ptdesc_pmd_is_shared() en hugetlb_pmd_shared().
Gravedad: Pendiente de análisis
Última modificación:
19/02/2026

Vulnerabilidad en Linux (CVE-2026-23085)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> irqchip/gic-v3-its: Evitar la truncación de direcciones de memoria<br /> <br /> En máquinas de 32 bits con CONFIG_ARM_LPAE, es posible que las asignaciones de memoria baja estén respaldadas por direcciones de memoria física por encima del límite de direcciones de 32 bits, como se descubrió al experimentar con configuraciones VMSPLIT más grandes.<br /> <br /> Esto causó que el modelo virt de qemu colapsara en el controlador GICv3, que asigna el objeto &amp;#39;itt&amp;#39; usando GFP_KERNEL. Dado que toda la memoria por debajo del límite de direcciones físicas de 4 GB está en ZONE_DMA en esta configuración, kmalloc() por defecto utiliza direcciones más altas para ZONE_NORMAL, y el controlador ITS almacena la dirección física en una variable &amp;#39;unsigned long&amp;#39; de 32 bits.<br /> <br /> Cambiar la variable itt_addr al tipo correcto phys_addr_t en su lugar, junto con todas las demás variables en este controlador que contienen una dirección física.<br /> <br /> El controlador gicv5 utiliza correctamente variables u64, mientras que todos los demás controladores irqchip no llaman a virt_to_phys o interfaces similares. Se espera que otros controladores de dispositivos tengan problemas similares, pero solucionar este es suficiente para arrancar un invitado basado en virtio.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23091)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> intel_th: corrige la fuga de dispositivo al abrir la salida<br /> <br /> Asegúrese de liberar la referencia tomada al buscar el dispositivo th durante la apertura del dispositivo de salida en caso de errores y al cerrar.<br /> <br /> Tenga en cuenta que una confirmación reciente corrigió la fuga en un par de rutas de error de open(), pero no en todas ellas, y la referencia sigue fugándose en una apertura exitosa.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23082)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> can: gs_usb: gs_usb_receive_bulk_callback(): desanclar URL en error de usb_submit_urb()<br /> <br /> En el commit 7352e1d5932a ("can: gs_usb: gs_usb_receive_bulk_callback(): corregir fuga de memoria de URB"), el URB fue re-anclado antes de usb_submit_urb() en gs_usb_receive_bulk_callback() para prevenir una fuga de este URB durante la limpieza.<br /> <br /> Sin embargo, este parche no tuvo en cuenta que usb_submit_urb() podría fallar. El URB permanece anclado y usb_kill_anchored_urbs(&amp;amp;parent-&amp;gt;rx_submitted) en gs_can_close() entra en un bucle infinito ya que la lista de anclajes nunca queda vacía.<br /> <br /> Para corregir el error, desanclar el URB cuando ocurre un error de usb_submit_urb(), también imprimir un mensaje de información.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23083)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> fou: No permitir 0 para FOU_ATTR_IPPROTO.<br /> <br /> fou_udp_recv() tiene el mismo problema mencionado en el parche anterior.<br /> <br /> Si FOU_ATTR_IPPROTO se establece en 0, skb no es liberado por fou_udp_recv() ni &amp;#39;reenviado&amp;#39; en ip_protocol_deliver_rcu().<br /> <br /> Prohibamos 0 para FOU_ATTR_IPPROTO.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23084)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> be2net: Corrección de desreferencia de puntero NULL en be_cmd_get_mac_from_list<br /> <br /> Cuando el argumento del parámetro pmac_id_valid de be_cmd_get_mac_from_list() se establece en falso, el controlador puede solicitar el PMAC_ID del firmware de la tarjeta de red, y esta función almacenará ese PMAC_ID en la dirección pmac_id proporcionada. Este es el contrato de esta función.<br /> <br /> Sin embargo, existe una ubicación dentro del controlador donde se están pasando tanto pmac_id_valid == false como pmac_id == NULL. Esto podría resultar en la desreferencia de un puntero NULL.<br /> <br /> Para resolver este problema, es necesario pasar la dirección de una variable auxiliar a la función.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23086)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> vsock/virtio: limitar el crédito TX al tamaño del búfer local<br /> <br /> Los transportes virtio derivan su crédito TX directamente de peer_buf_alloc, que se establece a partir del valor SO_VM_SOCKETS_BUFFER_SIZE del punto final remoto.<br /> <br /> En el lado del host, esto significa que la cantidad de datos que estamos dispuestos a encolar para una conexión se escala por un tamaño de búfer elegido por el invitado, en lugar de la propia configuración vsock del host. Un invitado malicioso puede anunciar un búfer grande y leer lentamente, haciendo que el host asigne una cantidad correspondientemente grande de memoria sk_buff.<br /> Lo mismo ocurriría en el invitado con un host malicioso, ya que los transportes virtio comparten la misma base de código.<br /> <br /> Introducir una pequeña función auxiliar, virtio_transport_tx_buf_size(), que devuelve min(peer_buf_alloc, buf_alloc), y usarla dondequiera que consumamos peer_buf_alloc.<br /> <br /> Esto asegura que la ventana TX efectiva esté limitada tanto por el búfer anunciado del par como por nuestro propio buf_alloc (ya ajustado a buffer_max_size a través de SO_VM_SOCKETS_BUFFER_MAX_SIZE), de modo que un par remoto no pueda forzar al otro a encolar más datos de los permitidos por su propia configuración vsock.<br /> <br /> En un host Ubuntu 22.04 sin parchear (~64 GiB de RAM), ejecutar una PoC con 32 conexiones vsock de invitado anunciando 2 GiB cada una y leyendo lentamente llevó Slab/SUnreclaim de ~0.5 GiB a ~57 GiB; el sistema solo se recuperó después de terminar el proceso QEMU. Dicho esto, si la memoria de QEMU está limitada con cgroups, la memoria máxima utilizada estará limitada.<br /> <br /> Con este parche aplicado:<br /> <br /> Antes:<br /> MemFree: ~61.6 GiB<br /> Slab: ~142 MiB<br /> SUnreclaim: ~117 MiB<br /> <br /> Después de 32 conexiones de alto crédito:<br /> MemFree: ~61.5 GiB<br /> Slab: ~178 MiB<br /> SUnreclaim: ~152 MiB<br /> <br /> Solo un aumento de ~35 MiB en Slab/SUnreclaim, sin OOM del host, y el invitado permanece receptivo.<br /> <br /> Compatibilidad con transportes no virtio:<br /> <br /> - VMCI utiliza los controles de búfer AF_VSOCK para dimensionar sus pares de cola por socket basándose en los valores locales vsk-&amp;gt;buffer_*; el lado remoto no puede ampliar esas colas más allá de lo que configuró el punto final local.<br /> <br /> - El transporte vsock de Hyper-V utiliza búferes de anillo VMBus de tamaño fijo y un límite de MTU; no hay un campo de crédito controlado por el par comparable a peer_buf_alloc, y el punto final remoto no puede impulsar la memoria del kernel en tránsito por encima de esos tamaños de anillo.<br /> <br /> - La ruta de bucle invertido reutiliza virtio_transport_common.c, por lo que naturalmente sigue la misma semántica que el transporte virtio.<br /> <br /> Este cambio se limita a virtio_transport_common.c y por lo tanto afecta a virtio-vsock, vhost-vsock y loopback, poniéndolos en línea con el comportamiento de &amp;#39;ventana remota intersectada con política local&amp;#39; que VMCI y Hyper-V ya tienen efectivamente.<br /> <br /> [Stefano: pequeños ajustes después de cambiar el parche anterior]<br /> [Stefano: ajustar el mensaje de commit]
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23087)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> scsi: xen: scsiback: Corrección de posible fuga de memoria en scsiback_remove()<br /> <br /> La memoria asignada para la estructura vscsiblk_info en scsiback_probe() no es liberada en scsiback_remove(), lo que lleva a posibles fugas de memoria al eliminar, así como en las rutas de error de scsiback_probe(). Esto se corrige liberándola en scsiback_remove().
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23088)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: tracing: Corrección de un fallo al usar un campo de rastreo de pila sintético Al crear un evento sintético basado en un evento sintético existente que tenía un campo de rastreo de pila y el nuevo evento sintético usaba ese campo, ocurrió un fallo del kernel: ~# cd /sys/kernel/tracing ~# echo &amp;#39;s:stack unsigned long stack[];&amp;#39; &amp;gt; dynamic_events ~# echo &amp;#39;hist:keys=prev_pid:s0=common_stacktrace if prev_state &amp;amp; 3&amp;#39; &amp;gt;&amp;gt; events/sched/sched_switch/trigger ~# echo &amp;#39;hist:keys=next_pid:s1=$s0:onmatch(sched.sched_switch).trace(stack,$s1)&amp;#39; &amp;gt;&amp;gt; events/sched/sched_switch/trigger Lo anterior crea un evento sintético que toma un rastreo de pila cuando una tarea se desprograma en un estado no en ejecución y pasa ese rastreo de pila al evento sched_switch cuando esa tarea se vuelve a programar. Activa el evento sintético &amp;#39;stack&amp;#39; que tiene un rastreo de pila como su campo (llamado &amp;#39;stack&amp;#39;). ~# echo &amp;#39;s:syscall_stack s64 id; unsigned long stack[];&amp;#39; &amp;gt;&amp;gt; dynamic_events ~# echo &amp;#39;hist:keys=common_pid:s2=stack&amp;#39; &amp;gt;&amp;gt; events/synthetic/stack/trigger ~# echo &amp;#39;hist:keys=common_pid:s3=$s2,i0=id:onmatch(synthetic.stack).trace(syscall_stack,$i0,$s3)&amp;#39; &amp;gt;&amp;gt; events/raw_syscalls/sys_exit/trigger Lo anterior crea otro evento sintético llamado &amp;#39;syscall_stack&amp;#39; que adjunta el primer evento sintético (stack) al evento de rastreo sys_exit y registra el rastreo de pila del evento stack con el ID de la llamada al sistema que está saliendo. Al habilitar este evento (o al usarlo en un histograma): ~# echo 1 &amp;gt; events/synthetic/syscall_stack/enable ¡Produce un fallo del kernel! BUG: unable to handle page fault for address: 0000000000400010 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 6 UID: 0 PID: 1257 Comm: bash Not tainted 6.16.3+deb14-amd64 #1 PREEMPT(lazy) Debian 6.16.3-1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 RIP: 0010:trace_event_raw_event_synth+0x90/0x380 Code: c5 00 00 00 00 85 d2 0f 84 e1 00 00 00 31 db eb 34 0f 1f 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 &amp;lt;49&amp;gt; 8b 04 24 48 83 c3 01 8d 0c c5 08 00 00 00 01 cd 41 3b 5d 40 0f RSP: 0018:ffffd2670388f958 EFLAGS: 00010202 RAX: ffff8ba1065cc100 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000001 RSI: fffff266ffda7b90 RDI: ffffd2670388f9b0 RBP: 0000000000000010 R08: ffff8ba104e76000 R09: ffffd2670388fa50 R10: ffff8ba102dd42e0 R11: ffffffff9a908970 R12: 0000000000400010 R13: ffff8ba10a246400 R14: ffff8ba10a710220 R15: fffff266ffda7b90 FS: 00007fa3bc63f740(0000) GS:ffff8ba2e0f48000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000400010 CR3: 0000000107f9e003 CR4: 0000000000172ef0 Call Trace: ? __tracing_map_insert+0x208/0x3a0 action_trace+0x67/0x70 event_hist_trigger+0x633/0x6d0 event_triggers_call+0x82/0x130 trace_event_buffer_commit+0x19d/0x250 trace_event_raw_event_sys_exit+0x62/0xb0 syscall_exit_work+0x9d/0x140 do_syscall_64+0x20a/0x2f0 ? trace_event_raw_event_sched_switch+0x12b/0x170 ? save_fpregs_to_fpstate+0x3e/0x90 ? _raw_spin_unlock+0xe/0x30 ? finish_task_switch.isra.0+0x97/0x2c0 ? __rseq_handle_notify_resume+0xad/0x4c0 ? __schedule+0x4b8/0xd00 ? restore_fpregs_from_fpstate+0x3c/0x90 ? switch_fpu_return+0x5b/0xe0 ? do_syscall_64+0x1ef/0x2f0 ? do_fault+0x2e9/0x540 ? __handle_mm_fault+0x7d1/0xf70 ? count_memcg_events+0x167/0x1d0 ? handle_mm_fault+0x1d7/0x2e0 ? do_user_addr_fault+0x2c3/0x7f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e La razón es que el campo de rastreo de pila no está etiquetado como tal, y es tratado como un campo normal y no como un evento dinámico, que es lo que es. En trace_event_raw_ev
Gravedad: Pendiente de análisis
Última modificación:
05/02/2026

Vulnerabilidad en Linux (CVE-2026-23089)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:<br /> <br /> ALSA: usb-audio: Corrección de uso después de liberación en snd_usb_mixer_free()<br /> <br /> Cuando snd_usb_create_mixer() falla, snd_usb_mixer_free() libera mixer-&amp;gt;id_elems, pero los controles ya añadidos a la tarjeta siguen referenciando la memoria liberada. Más tarde, cuando se ejecuta snd_card_register(), la capa del mezclador OSS llama a sus retrollamadas y se produce una lectura de uso después de liberación.<br /> <br /> Traza de llamada:<br /> get_ctl_value+0x63f/0x820 sound/usb/mixer.c:411<br /> get_min_max_with_quirks.isra.0+0x240/0x1f40 sound/usb/mixer.c:1241<br /> mixer_ctl_feature_info+0x26b/0x490 sound/usb/mixer.c:1381<br /> snd_mixer_oss_build_test+0x174/0x3a0 sound/core/oss/mixer_oss.c:887<br /> ...<br /> snd_card_register+0x4ed/0x6d0 sound/core/init.c:923<br /> usb_audio_probe+0x5ef/0x2a90 sound/usb/card.c:1025<br /> <br /> Se corrige llamando a snd_ctl_remove() para todos los controles del mezclador antes de liberar id_elems. Guardamos el siguiente puntero primero porque snd_ctl_remove() libera el elemento actual.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23090)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> slimbus: core: soluciona fuga de referencia de dispositivo al informar presencia<br /> <br /> Los dispositivos Slimbus pueden asignarse dinámicamente tras la recepción de mensajes de informe de presencia.<br /> <br /> Asegúrese de liberar la referencia tomada al buscar dispositivos ya registrados.<br /> <br /> Tenga en cuenta que esto requiere tomar una referencia adicional en caso de que el dispositivo aún no haya sido registrado y deba asignarse.
Gravedad: Pendiente de análisis
Última modificación:
06/02/2026

Vulnerabilidad en Linux (CVE-2026-23081)

Fecha de publicación:
04/02/2026
Idioma:
Español
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> net: phy: intel-xway: solucionar fuga de contador de referencias de nodo OF<br /> <br /> Una revisión automatizada detectó una fuga en el contador de referencias de un nodo OF al verificar si el nodo hijo &amp;#39;leds&amp;#39; existe.<br /> <br /> Llamar a of_put_node() para mantener correctamente el contador de referencias.
Gravedad: Pendiente de análisis
Última modificación:
05/02/2026