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-2021-47274)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: rastreo: corrija la verificación de longitud que causa corrupción de la memoria. Hemos sufrido fallos graves del kernel debido a la corrupción de la memoria en nuestro entorno de producción, como Call Trace: [1640542.554277] fallo de protección general. : 0000 [#1] SMP PTI [1640542.554856] CPU: 17 PID: 26996 Comm: python Kdump: cargado Contaminado:G [1640542.556629] RIP: 0010:kmem_cache_alloc+0x90/0x190 [1640542.559074] : 0018:ffffb16faa597df8 EFLAGS: 00010286 [ 1640542.559587] RAX: 0000000000000000 RBX: 0000000000400200 RCX: 0000000006e931bf [1640542.560323] RDX: 0000000006e931be RSI: 0000400200 RDI: ffff9a45ff004300 [1640542.560996] RBP: 0000000000400200 R08: 0000000000023420 R09: 0000000000000000 [1640542.561670] : 0000000000000000 R11: 0000000000000000 R12: ffffffff9a20608d [1640542.562366] R13: ffff9a45ff004300 R14: ffff9a45ff004300 R15: 696c662f65636976 [1640542.563128] FS: 00007f45d7c6f740(0000) GS:ffff9a45ff840000(0000) GS:0000000000000000 [1640542.563937] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [1640542.564557] CR2: 00007f45d71311a0 CR3: 000000189d63e004 CR4: 00000000003606e0 [1640542.565279] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [1640542.5 66069] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [1640542.566742] Seguimiento de llamadas: [1640542.567009] anon_vma_clone+0x5d/0x170 2.567417] __split_vma+0x91/0x1a0 [1640542.567777] do_munmap+0x2c6/0x320 [1640542.568128] vm_munmap+0x54/0x70 [1640542.569990] __x64_sys_munmap+0x22/0x30 [1640542.572005] _64+0x5b/0x1b0 [1640542.573724] entrada_SYSCALL_64_after_hwframe+0x44/0xa9 [1640542.575642] RIP: 0033:0x7f45d6e61e27 James Wang lo ha reproducido de forma estable en la última versión 4.19 LTS. Después de algunas depuraciones, finalmente demostramos que se debe al acceso fuera de los límites al búfer ftrace usando una herramienta de depuración de la siguiente manera: [86.775200] ERROR: Escritura fuera de los límites en la dirección 0xffff88aefe8b7000 [86.780806] no_context+0xdf/0x3c0 [86.784327 ] __do_page_fault+0x252/0x470 [ 86.788367] do_page_fault+0x32/0x140 [ 86.792145] page_fault+0x1e/0x30 [ 86.795576] strncpy_from_unsafe+0x66/0xb0 [ 86.799789] ry_string+0x25/0x40 [ 86.804002] fetch_deref_string+0x51/0x60 [ 86.808134] kprobe_trace_func +0x32d/0x3a0 [ 86.812347] kprobe_dispatcher+0x45/0x50 [ 86.816385] kprobe_ftrace_handler+0x90/0xf0 [ 86.820779] ftrace_ops_assist_func+0xa1/0x140 [ 86.825340] ffffc00750bf [ 86.828603] do_sys_open+0x5/0x1f0 [ 86.832124] do_syscall_64+0x5b/0x1b0 [ 86.835900 ] Entry_SYSCALL_64_after_hwframe+0x44/0xa9 commit b220c049d519 ("rastreo: verificar la longitud antes de entregar el búfer de filtro") agrega verificación de longitud para proteger el desbordamiento de datos de seguimiento introducido en 0fc1b09ff1ff, parece que esta solución no puede evitar el desbordamiento por completo, la verificación de longitud también debería tenga en cuenta el tamaño de la entrada->matriz[0], ya que esta matriz[0] ocupa toda la longitud de los datos de seguimiento y ocupa espacio adicional y corre el riesgo de desbordarse.
Gravedad CVSS v3.1: CRÍTICA
Última modificación:
04/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47275)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bcache: evita solicitudes de lectura de gran tamaño en la ruta del código faltante de la caché. En la ruta del código faltante de la caché del dispositivo almacenado en caché, si una ubicación adecuada del árbol B+ interno coincide con un rango de falta de caché, La función cached_dev_cache_miss() se llamará en cache_lookup_fn() en el siguiente bloque de código, [bloque de código 1] 526 unsigned int sectores = KEY_INODE(k) == s->iop.inode 527? min_t(uint64_t, INT_MAX, 528 KEY_START(k) - bio->bi_iter.bi_sector) 529: INT_MAX; 530 int ret = s->d->cache_miss(b, s, bio, sectors); Aquí s->d->cache_miss() es el puntero de función de devolución de llamada inicializado como cached_dev_cache_miss(), el último parámetro 'sectors' es una pista importante para calcular el tamaño de la solicitud de lectura al dispositivo de respaldo de los datos de caché faltantes. El cálculo actual en el bloque de código anterior puede generar un valor sobredimensionado de 'sectors', lo que en consecuencia puede desencadenar 2 posibles pánicos del kernel diferentes mediante BUG() o BUG_ON() como se enumera a continuación, 1) BUG_ON() dentro de bch_btree_insert_key(), [bloque de código 2 ] 886 BUG_ON(b->ops->is_extents && !KEY_SIZE(k)); 2) BUG() dentro de biovec_slab(), [bloque de código 3] 51 predeterminado: 52 BUG(); 53 devuelve NULO; Todos los pánicos anteriores son originales de cached_dev_cache_miss() por el parámetro 'sectors' de gran tamaño. Dentro de cached_dev_cache_miss(), el parámetro 'sectors' se utiliza para calcular el tamaño de los datos leídos desde el dispositivo de respaldo para el caché que falta. Este tamaño se almacena en s->insert_bio_sectors mediante las siguientes líneas de código, [bloque de código 4] 909 s->insert_bio_sectors = min(sectors, bio_sectors(bio) + reada); Luego, la clave real que se inserta en el árbol B+ interno se genera y almacena en s->iop.replace_key mediante las siguientes líneas de código, [bloque de código 5] 911 s->iop.replace_key = KEY(s->iop.inode, 912 bio->bi_iter.bi_sector + s->insertar_bio_sectores, 913 s->insertar_bio_sectores); El parámetro 'sectors' de gran tamaño puede provocar pánico 1) mediante BUG_ON() del bloque de código anterior. Y el envío de biografía al dispositivo de respaldo para los datos faltantes se asigna con una sugerencia de s->insert_bio_sectors mediante las siguientes líneas de código, [bloque de código 6] 926 cache_bio = bio_alloc_bioset(GFP_NOWAIT, 927 DIV_ROUND_UP(s->insert_bio_sectors, PAGE_SECTORS), 928 &dc->disk.bio_split); Los 'sectors' de parámetros de gran tamaño pueden provocar pánico 2) mediante BUG() desde el bloque de código anterior. Ahora permítanme explicar cómo se produce el pánico en los "sectors" sobredimensionados. En el bloque de código 5, replace_key se genera mediante la macro KEY(). De la definición de macro KEY(), [bloque de código 7] 71 #define KEY(inode, offset, size) \ 72 ((struct bkey) { \ 73 .high = (1ULL << 63) | ((__u64) ( tamaño) << 20) | (inodo), \ 74 .low = (desplazamiento) \ 75 }) Aquí 'tamaño' es un ancho de 16 bits incrustado en el miembro 'alto' de 64 bits de la estructura bkey. Pero en el bloque de código 1, si "KEY_START(k) - bio->bi_iter.bi_sector" es muy probable que sea mayor que (1<<16) - 1, lo que hace que el cálculo del tamaño de la clave b en el bloque de código 5 se desborde. En un informe de error, el valor del parámetro 'sectors' es 131072 (= 1 << 17), los 'sectors' desbordados dan como resultado s->insert_bio_sectors desbordados en el bloque de código 4, luego convierte el campo de tamaño de s->iop.replace_key en sea 0 en el bloque de código 5. Luego, el tamaño 0 s->iop.replace_key se inserta en el árbol B+ interno como clave de verificación de falta de caché (una clave especial para detectar y evitar una ejecución entre la solicitud de escritura normal y la solicitud de lectura faltante de caché) como, [bloque de código 8] 915 ret = ---truncado---
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47276)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ftrace: no lea ciegamente la dirección IP en ftrace_bug(). Se informó que un error en arm64 provocó que se usara una dirección IP incorrecta para actualizar a un nop en ftrace_init() , pero la ruta de error (con razón) devolvió -EINVAL y no -EFAULT, ya que el error provocó que ocurriera más de un error. Pero debido a que se devolvió -EINVAL, ftrace_bug() intentó informar qué había en la ubicación de la dirección IP y leerlo directamente. Esto provocó que la máquina entrara en pánico, ya que la IP no apuntaba a una dirección de memoria válida. En su lugar, lea la dirección IP con copy_from_kernel_nofault() para acceder de forma segura a la memoria y, si falla, informe que la dirección falló; de lo contrario, informe qué había en esa ubicación.
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47251)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: mac80211: corrige la verificación de longitud de skb en ieee80211_scan_rx() Reemplace las constantes de tiempo de compilación codificadas para la verificación de la longitud del encabezado con determinación dinámica basada en el tipo de trama. De lo contrario, obtendremos un WARN_ON de validación en cfg80211 más adelante. [correcciones de estilo, reformular mensaje de confirmación]
Gravedad CVSS v3.1: ALTA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47252)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: batman-adv: Evite comprobaciones relacionadas con el tiempo WARN_ON. La interfaz soft/batadv para un MDS en cola se puede cambiar durante el tiempo que el MDS estuvo en cola para transmisión y cuando el MDS realmente se transmite por el trabajador. Pero WARN_ON debe usarse para indicar errores del kernel y no para imprimir simples advertencias. Una advertencia se puede imprimir simplemente usando pr_warn.
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47253)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: corrige una posible pérdida de memoria en DMUB hw_init [Por qué] Al reanudar ejecutamos DMUB hw_init que asigna memoria: dm_resume->dm_dmub_hw_init->dc_dmub_srv_create->kzalloc Eso resulta en pérdida de memoria en escenarios de suspensión/reanudación. [Cómo] Asigne memoria para el contenedor DC a DMUB solo si no se asignó antes. No es necesario reasignarlo al suspender/reanudar.
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/12/2024

Vulnerabilidad en kernel de Linux (CVE-2021-47255)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: kvm: LAPIC: Restaurar protección para evitar el acceso ilegal al registro APIC. Según el SDM, "cualquier acceso que toque los bytes 4 al 15 de un registro APIC puede causar un comportamiento indefinido y no debe ejecutarse ". Peor aún, dicho acceso en kvm_lapic_reg_read puede resultar en una fuga del contenido de la pila del kernel. Antes de confirmar 01402cf81051 ("kvm: LAPIC: anotar registros APIC válidos"), dicho acceso se prohibía explícitamente. Restaura la guardia que se eliminó en esa confirmación.
Gravedad CVSS v3.1: ALTA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47256)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm/memory-failure: asegúrese de esperar la reescritura de la página en Memory_failure. Nuestro syzkaller activa el "BUG_ON(!list_empty(&inode->i_wb_list))" en clear_inode: kernel BUG en fs /inodo.c:519! Error interno: Oops - BUG: 0 [#1] Módulos SMP vinculados en: Proceso syz-executor.0 (pid: 249, límite de pila = 0x00000000a12409d7) CPU: 1 PID: 249 Comm: syz-executor.0 No contaminado 4.19. 95 Nombre de hardware: linux,dummy-virt (DT) pstate: 80000005 (Nzcv daif -PAN -UAO) pc: clear_inode+0x280/0x2a8 lr: clear_inode+0x280/0x2a8 Rastreo de llamadas: clear_inode+0x280/0x2a8 ext4_clear_inode+0x38/0xe8 ext4_free_inode+0x130/0xc68 ext4_evict_inode+0xb20/0xcb8 desalojar+0x1a8/0x3c0 iput+0x344/0x460 do_unlinkat+0x260/0x410 __arm64_sys_unlinkat+0x6c/0xc0 el0_svc_common+0xdc /0x3b0 el0_svc_handler+0xf8/0x160 el0_svc+0x10/0x218 Pánico del kernel: no se sincroniza : Excepción fatal Un volcado de memoria de este problema muestra que alguien llamó a __munlock_pagevec para borrar la página LRU sin lock_page: do_mmap -> mmap_region -> do_munmap -> munlock_vma_pages_range -> __munlock_pagevec. Como resultado, Memory_failure llamará a identify_page_state sin wait_on_page_writeback. Y después de truncate_error_page, borre el mapeo de esta página. end_page_writeback no llamará a sb_clear_inode_writeback para borrar inode->i_wb_list. ¡Eso activará BUG_ON en clear_inode! Solucionarlo marcando también PageWriteback para ayudar a determinar si debemos omitir wait_on_page_writeback.
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47257)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net: ieee802154: corrige el deref null en analizar dev addr. Se corrige un error lógico que podría resultar en un deref null si el usuario configura el modo incorrectamente para el tipo de dirección dado.
Gravedad CVSS v3.1: MEDIA
Última modificación:
04/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47258)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: core: corrige el manejo de errores de scsi_host_alloc(). Después de que el dispositivo se inicializa mediante device_initialize(), o su nombre se establece mediante dev_set_name(), el dispositivo debe liberarse mediante put_device (). De lo contrario, se filtrará el nombre del dispositivo porque se asigna dinámicamente en dev_set_name(). Solucione la fuga reemplazando kfree() con put_device(). Dado que scsi_host_dev_release() maneja adecuadamente la eliminación de IDA y kthread, elimine también estas mayúsculas y minúsculas especiales del manejo de errores.
Gravedad CVSS v3.1: MEDIA
Última modificación:
30/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47259)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: core: corrige el manejo de errores de scsi_host_alloc(). Después de que el dispositivo se inicializa mediante device_initialize(), o su nombre se establece mediante dev_set_name(), el dispositivo debe liberarse mediante put_device (). De lo contrario, se filtrará el nombre del dispositivo porque se asigna dinámicamente en dev_set_name(). Solucione la fuga reemplazando kfree() con put_device(). Dado que scsi_host_dev_release() maneja adecuadamente la eliminación de IDA y kthread, elimine también estas mayúsculas y minúsculas especiales del manejo de errores.
Gravedad CVSS v3.1: ALTA
Última modificación:
04/04/2025

Vulnerabilidad en kernel de Linux (CVE-2021-47260)

Fecha de publicación:
21/05/2024
Idioma:
Español
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: NFS: corrija una posible desreferencia NULL en nfs_get_client() Ninguna de las personas que llaman espera retornos NULL de nfs_get_client(), por lo que este código generará un error ¡Oops! Es mejor devolver un puntero de error. Supongo que se trata de un código inactivo, así que espero que nadie se vea afectado.
Gravedad CVSS v3.1: MEDIA
Última modificación:
24/12/2024