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-49779)

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: kprobes: Omitir la limpieza del post_handler de aggrprobe en el caso de kprobe-on-ftrace. En __unregister_kprobe_top(), si la sonda actualmente no registrada tiene post_handler, pero otras sondas secundarias de aggrprobe no lo tienen, se limpia el post_handler de aggrprobe. Si se trata de una sonda basada en ftrace, existe un problema. En llamadas posteriores a disarm_kprobe(), usaremos kprobe_ftrace_ops porque post_handler es NULL. Pero estamos preparados con kprobe_ipmodify_ops. Esto activa una ADVERTENCIA en __disarm_kprobe_ftrace() e incluso puede provocar un use-after-free: No se pudo desarmar kprobe-ftrace en kernel_clone+0x0/0x3c0 (error -2) ADVERTENCIA: CPU: 5 PID: 137 en kernel/kprobes.c:1135 __disarm_kprobe_ftrace.isra.21+0xcf/0xe0 Módulos vinculados en: testKprobe_007(-) CPU: 5 PID: 137 Comm: rmmod No contaminado 6.1.0-rc4-dirty #18 [...] Seguimiento de llamadas: __disable_kprobe+0xcd/0xe0 __unregister_kprobe_top+0x12/0x150 ? mutex_lock+0xe/0x30 unregister_kprobes.part.23+0x31/0xa0 unregister_kprobe+0x32/0x40 __x64_sys_delete_module+0x15e/0x260 ? do_user_addr_fault+0x2cd/0x6b0 do_syscall_64+0x3a/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd [...] For the kprobe-on-ftrace case, we keep the post_handler setting to identify this aggrprobe armed with kprobe_ipmodify_ops. De esta forma, podemos desactivarla correctamente.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: target: tcm_loop: Se corrige una posible fuga de nombre en tcm_loop_setup_hba_bus(). Si device_register() falla en tcm_loop_setup_hba_bus(), se debe liberar el nombre asignado por dev_set_name(). Como se indica en el comentario de device_register(), se debe usar put_device() para liberar la referencia en la ruta de error. Para solucionar esto, se debe llamar a put_device(); luego, el nombre se puede liberar en kobject_cleanup(). El 'tl_hba' se liberará en tcm_loop_release_adapter(), por lo que no es necesario ir a la etiqueta de error en este caso.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: perf/x86/amd: Se corrige el fallo debido a la competencia entre amd_pmu_enable_all, perf NMI y la limitación. amd_pmu_enable_all() realiza lo siguiente: if (!test_bit(idx, cpuc->active_mask)) continue; amd_pmu_enable_event(cpuc->events[idx]); Un perf NMI de otro evento puede interponerse entre estos dos pasos. El controlador de perf NMI deshabilita y habilita internamente _todos_ los eventos, incluido el que amd_pmu_enable_all() interceptado por nmi estaba habilitando. Si ese evento habilitado involuntariamente tiene un período de muestreo muy bajo y causa NMI sucesivas inmediatas, lo que provoca su limitación, x86_pmu_stop() borra cpuc->events[idx] y cpuc->active_mask. Esto provocará que amd_pmu_enable_event() se llame con event=NULL cuando amd_pmu_enable_all() se reanude tras gestionar las NMI. Esto provoca un fallo del kernel: BUG: kernel NULL pointer dereference, address: 0000000000000198 #PF: acceso de lectura del supervisor en modo kernel #PF: error_code(0x0000) - not-present page [...] Rastreo de llamadas: amd_pmu_enable_all+0x68/0xb0 ctx_resched+0xd9/0x150 event_function+0xb8/0x130 ? hrtimer_start_range_ns+0x141/0x4a0 ? perf_duration_warn+0x30/0x30 remote_function+0x4d/0x60 __flush_smp_call_function_queue+0xc4/0x500 flush_smp_call_function_queue+0x11d/0x1b0 do_idle+0x18f/0x2d0 cpu_startup_entry+0x19/0x20 start_secondary+0x121/0x160 secondary_startup_64_no_verify+0xe5/0xeb amd_pmu_disable_all()/amd_pmu_enable_all() Las llamadas dentro del controlador NMI de rendimiento se añadieron recientemente como parte de la habilitación de BRS, pero no estoy seguro de si realmente las necesitamos. Podemos deshabilitar BRS al principio y volver a habilitarlo al regresar de NMI. Esto solucionará el problema al no habilitar los eventos cuyas máscaras activas estén configuradas, pero que aún no estén habilitadas en la PMU de hardware.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: perf: Mejora de la comprobación de SIGTRAP faltantes. Para detectar la falta de SIGTRAP, empleamos una advertencia en __perf_event_overflow(), que se activa si pending_sigtrap ya estaba configurado: al regresar al espacio de usuario sin consumir pending_sigtrap y luego volver a activar el evento, se reingresaría al kernel y se activaría la advertencia. Sin embargo, esto parecía pasar por alto el caso en el que algunos eventos no asociados con el progreso en la tarea del espacio de usuario pueden activarse y el controlador de interrupciones se ejecuta antes del trabajo de IRQ destinado a consumir pending_sigtrap (y generar la SIGTRAP). syzbot nos proporcionó este seguimiento de pila: | ADVERTENCIA: CPU: 0 PID: 3607 en kernel/events/core.c:9313 __perf_event_overflow | Módulos enlazados en: | CPU: 0 PID: 3607 Comm: syz-executor100 No contaminado 6.1.0-rc2-syzkaller-00073-g88619e77b33d #0 | Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022 | RIP: 0010:__perf_event_overflow+0x498/0x540 kernel/events/core.c:9313 | <...> | Seguimiento de llamadas: | | perf_swevent_hrtimer+0x34f/0x3c0 kernel/events/core.c:10729 | __run_hrtimer kernel/time/hrtimer.c:1685 [inline] | __hrtimer_run_queues+0x1c6/0xfb0 kernel/time/hrtimer.c:1749 | hrtimer_interrupt+0x31c/0x790 kernel/time/hrtimer.c:1811 | local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1096 [inline] | __sysvec_apic_timer_interrupt+0x17c/0x640 arch/x86/kernel/apic/apic.c:1113 | sysvec_apic_timer_interrupt+0x40/0xc0 arch/x86/kernel/apic/apic.c:1107 | asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:649 | <...> | En este caso, syzbot generó un programa con el tipo de evento PERF_TYPE_SOFTWARE y la configuración PERF_COUNT_SW_CPU_CLOCK. El temporizador hrtimer se vuelve a ejecutar antes de que el trabajo de IRQ tenga la oportunidad de ejecutarse, sin haber regresado al espacio de usuario. Mejore el WARN para comprobar el progreso real en el espacio de usuario: aproxime esto almacenando un hash de 32 bits de la IP actual en pending_sigtrap. Si un evento se dispara mientras pending_sigtrap aún coincide con la IP anterior, asumimos que no hay progreso (los falsos negativos son posibles dado que podríamos regresar al espacio de usuario y disparar de nuevo en la misma IP).
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/fpu: Eliminar el bloqueo de fpregs antes de heredar los permisos de FPU Mike Galbraith informó lo siguiente contra una antigua bifurcación de preempt-rt, pero el mismo problema también se aplica al árbol preempt-rt actual. ERROR: función inactiva llamada desde un contexto no válido en kernel/locking/spinlock_rt.c:46 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: systemd preempt_count: 1, expected: 0 Profundidad de anidamiento de RCU: 0, expected: 0 Preempción deshabilitada en: fpu_clone CPU: 6 PID: 1 Comm: systemd Tainted: GE (no publicado) Rastreo de llamadas: dump_stack_lvl ? fpu_clone __might_resched rt_spin_lock fpu_clone ? copy_thread ? copy_process ? shmem_alloc_inode ? kmem_cache_alloc ? kernel_clone ? __do_sys_clone ? do_syscall_64 ? __x64_sys_rt_sigprocmask ? syscall_exit_to_user_mode ? do_syscall_64 ? syscall_exit_to_user_mode ? do_syscall_64 ? syscall_exit_to_user_mode ? do_syscall_64 ? exc_page_fault ? entry_SYSCALL_64_after_hwframe Mike dice: El problema se debe a que fpu_inherit_perms() se llama bajo fpregs_lock() y a que alcanzamos spin_lock_irq() debido a que fpu_state_size_dynamic() devuelve verdadero a pesar de que la clave estática __fpu_state_size_dynamic nunca se ha habilitado. La evaluación de Mike parece correcta. fpregs_lock en un kernel PREEMPT_RT deshabilita la preempción, por lo que llamar a spin_lock_irq() en fpu_inherit_perms() no es seguro. Este problema existe desde la confirmación 9e798e9aa14c ("x86/fpu: Preparar fpu_clone() para funciones habilitadas dinámicamente"). Aunque el informe de error original no debería haber habilitado las rutas, el error persiste. fpregs_lock es necesario al editar los registros de FPU o el estado de FP de una tarea, pero no es necesario para fpu_inherit_perms(). La única escritura de cualquier estado de FP en fpu_inherit_perms() es para el nuevo hijo, que aún no se está ejecutando y aún no puede cambiar de contexto ni ser tomado prestado por un hilo del kernel. Por lo tanto, fpregs_lock no protege nada en el nuevo hijo hasta que clone() se complete y pueda eliminarse antes. El siglock aún debe ser adquirido por fpu_inherit_perms(), ya que la lectura de los permisos del padre debe serializarse. [bp: Limpieza splat.]
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: perf/x86/amd/uncore: Se corrige una fuga de memoria en la matriz de eventos. Cuando una CPU se conecta, se liberan los contextos de núcleo único (NB) y LLC por CPU, pero no la matriz de eventos dentro de la estructura del contexto. Esto provoca una fuga de memoria, identificada por el detector kmemleak. [...] objeto sin referencia 0xffff8c5944b8e320 (tamaño 32): comm "swapper/0", pid 1, jiffies 4294670387 (edad 151.072s) volcado hexadecimal (primeros 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<000000000759fb79>] amd_uncore_cpu_up_prepare+0xaf/0x230 [<00000000ddc9e126>] cpuhp_invoke_callback+0x2cf/0x470 [<0000000093e727d4>] cpuhp_issue_call+0x14d/0x170 [<0000000045464d54>] __cpuhp_setup_state_cpuslocked+0x11e/0x330 [<0000000069f67cbd>] __cpuhp_setup_state+0x6b/0x110 [<0000000015365e0f>] amd_uncore_init+0x260/0x321 [<00000000089152d2>] do_one_initcall+0x3f/0x1f0 [<000000002d0bd18d>] kernel_init_freeable+0x1ca/0x212 [<0000000030be8dde>] kernel_init+0x11/0x120 [<0000000059709e59>] ret_from_fork+0x22/0x30 objeto sin referencia 0xffff8c5944b8dd40 (tamaño 64): comm "swapper/0", pid 1, jiffies 4294670387 (edad 151.072s) volcado hexadecimal (primeros 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ seguimiento inverso: [<00000000306efe8b>] preparación de CPU activada de AMD sin núcleo + 0x183/0x230 [<00000000ddc9e126>] devolución de llamada de invocación de CPUHp + 0x2cf/0x470 [<0000000093e727d4>] llamada de emisión de CPUHp + 0x14d/0x170 [<0000000045464d54>] estado de configuración de CPUHp bloqueado + 0x11e/0x330 [<0000000069f67cbd>] __cpuhp_setup_state+0x6b/0x110 [<0000000015365e0f>] amd_uncore_init+0x260/0x321 [<00000000089152d2>] do_one_initcall+0x3f/0x1f0 [<000000002d0bd18d>] kernel_init_freeable+0x1ca/0x212 [<0000000030be8dde>] kernel_init+0x11/0x120 [<0000000059709e59>] ret_from_fork+0x22/0x30 [...] Solucione el problema liberando la matriz de eventos antes de liberar el contexto uncore.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/sgx: Se ha añadido una comprobación de desbordamiento en sgx_validate_offset_length(). La función sgx_validate_offset_length() verifica los argumentos "offset" y "length" proporcionados por el espacio de usuario, pero no incluía una comprobación de desbordamiento al añadirlos. Añádala.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: blk-cgroup: fija correctamente el padre en blkcg_css_online. Se supone que blkcg_css_online fija el blkcg del padre, pero 397c9f46ee4d refactorizó las cosas y, de paso, lo modificó para fijar el CSS. Esto genera fijaciones adicionales y terminamos filtrando blkcgs y cgroups.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mmc: sdhci-pci: Se corrige una posible fuga de memoria causada por la omisión de pci_dev_put(). pci_get_device() aumentará el recuento de referencias para el pci_dev devuelto. Necesitamos usar pci_dev_put() para disminuir el recuento de referencias antes de que amd_probe() regrese. No hay problema para la rama 'smbus_dev == NULL', ya que pci_dev_put() también puede gestionar el caso del parámetro de entrada NULL.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: dm ioctl: se corrige el comportamiento incorrecto si list_versions se acelera al cargar módulos. __list_versions primero estimará el espacio requerido mediante la llamada "dm_target_iterate(list_version_get_needed, &needed)" y luego llenará el espacio mediante la llamada "dm_target_iterate(list_version_get_info, &iter_info)". Cada una de estas llamadas bloquea los destinos mediante las llamadas "down_read(&_lock)" y "up_read(&_lock)". Sin embargo, entre la primera y la segunda llamada "dm_target_iterate" no se mantiene el bloqueo y los módulos de destino se pueden cargar en este punto, por lo que la segunda llamada "dm_target_iterate" podría necesitar más espacio que el devuelto por la primera llamada "dm_target_iterate". El código intenta gestionar este desbordamiento (véase el comienzo de list_version_get_info), pero esta gestión es incorrecta. El código establece "param->data_size = param->data_start + needed" y "iter_info.end = (char *)vers+len": "needed" es el tamaño devuelto por la primera llamada a dm_target_iterate; "len" es el tamaño del búfer asignado por el espacio de usuario. "len" puede ser mayor que "needed"; en este caso, el código escribirá hasta "len" bytes en el búfer; sin embargo, param->data_size se establece en "needed", por lo que podría escribir datos que superen el valor de param->data_size. La interfaz ioctl solo copia hasta param->data_size en el espacio de usuario, por lo que parte del resultado se truncará. Corrija este error estableciendo "iter_info.end = (char *)vers + needed;" Esto garantiza que la segunda llamada "dm_target_iterate" solo escriba hasta el búfer necesario y finalice con "DM_BUFFER_FULL_FLAG" si se desborda dicho espacio. En este caso, el espacio de usuario asignará un búfer mayor y reintentará. Tenga en cuenta que también hay un error en list_version_get_needed: debemos agregar "strlen(tt->name) + 1" al tamaño necesario, no "strlen(tt->name)".
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ALSA: usb-audio: Se omite snd_BUG_ON() de snd_usbmidi_output_open(). snd_usbmidi_output_open() tiene una comprobación del puerto nulo con snd_BUG_ON(). Se usó snd_BUG_ON() porque esto no debería haber ocurrido, pero en realidad, el puerto nulo puede detectarse cuando el dispositivo proporciona una configuración de endpoint no válida en el descriptor, por lo que el controlador omite la asignación. Es decir, la comprobación en sí es válida y snd_BUG_ON() debería omitirse. De lo contrario, es confuso, como si se tratara de un error real, como lo detectó syzbot recientemente.
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025

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

Fecha de publicación:
01/05/2025
Idioma:
Español
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Se corrige la advertencia de optc2_configure en dcn314 [Por qué] dcn314 usa optc2_configure_crc() que envuelve optc1_configure_crc() + establece registros adicionales que no son aplicables a dcn314. No es crítico, pero cuando se usa genera advertencias como: ADVERTENCIA: drivers/gpu/drm/amd/amdgpu/../display/dc/dc_helper.c Seguimiento de llamadas: generic_reg_set_ex+0x6d/0xe0 [amdgpu] optc2_configure_crc+0x60/0x80 [amdgpu] dc_stream_configure_crc+0x129/0x150 [amdgpu] amdgpu_dm_crtc_configure_crc_source+0x5d/0xe0 [amdgpu] [How] Use optc1_configure_crc() directly
Gravedad: Pendiente de análisis
Última modificación:
02/05/2025