Boletín de vulnerabilidades
Vulnerabilidades con productos recientemente documentados:
No hay vulnerabilidades nuevas para los productos a los que está suscrito.
Otras vulnerabilidades de los productos a los que usted está suscrito, y cuya información ha sido actualizada recientemente:
-
Vulnerabilidad en El plugin sina-extension-for-elementor (CVE-2019-15839)
Severidad: ALTA
Fecha de publicación: 30/08/2019
Fecha de última actualización: 24/03/2025
El plugin sina-extension-for-elementor anterior a la versión 2.2.1 para WordPress tiene inclusión de archivos locales.
-
Vulnerabilidad en Router WI-FI D-Link N300 DIR-605L v2.13B01 (CVE-2023-24343)
Severidad: ALTA
Fecha de publicación: 10/02/2023
Fecha de última actualización: 24/03/2025
Se descubrió que el router WI-FI D-Link N300 DIR-605L v2.13B01 contenía un desbordamiento de pila a través del parámetro curTime en /goform/formSchedule.
-
Vulnerabilidad en D-Link N300 WI-FI Router DIR-605L v2.13B01 (CVE-2023-24344)
Severidad: ALTA
Fecha de publicación: 10/02/2023
Fecha de última actualización: 24/03/2025
Se descubrió que D-Link N300 WI-FI Router DIR-605L v2.13B01 contenía un desbordamiento de pila a través del parámetro de la página web en /goform/formWlanGuestSetup.
-
Vulnerabilidad en APSystems ECU-R versión 5203 (CVE-2022-45699)
Severidad: CRÍTICA
Fecha de publicación: 10/02/2023
Fecha de última actualización: 24/03/2025
La inyección de comandos en la interfaz de administración en APSystems ECU-R versión 5203 permite a un atacante remoto no autenticado ejecutar comandos arbitrarios como superusuario usando el parámetro de zona horaria.
-
Vulnerabilidad en kernel de Linux (CVE-2022-48747)
Severidad: ALTA
Fecha de publicación: 20/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: bloque: corrige el desplazamiento incorrecto en bio_truncate() bio_truncate() borra el búfer fuera del último bloque de bdev, sin embargo, el bio_truncate() actual está usando el desplazamiento de página incorrecto. Entonces puede devolver los datos no inicializados. Esto sucedió cuando tanto el FS truncado/corrupto como el espacio de usuario (a través de bdev) intentaban leer lo último de bdev.
-
Vulnerabilidad en kernel de Linux (CVE-2022-48748)
Severidad: ALTA
Fecha de publicación: 20/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net: bridge: vlan: corrige la pérdida de memoria en __allowed_ingress Cuando se usa el estado por VLAN, si la vigilancia de VLAN y las estadísticas están deshabilitadas, el marco de ingreso sin etiquetar o con etiqueta de prioridad irá a verificar pvid estado. Si el estado del puerto está reenviando y el estado del pvid no está aprendiendo/reenviando, se descartará la trama sin etiquetar o con etiqueta de prioridad, pero no se liberará la memoria skb. Debería liberar skb cuando __allowed_ingress devuelva falso.
-
Vulnerabilidad en kernel de Linux (CVE-2022-48754)
Severidad: ALTA
Fecha de publicación: 20/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: phylib: corrige el posible use-after-free. Commit bafbdd527d56 ("phylib: agregue soporte GPIO para restablecer el dispositivo") se agregó una llamada a phy_device_reset(phydev) después de la llamada put_device() en phy_detach( ). El comentario antes de la llamada put_device() dice que phydev podría desaparecer con put_device(). Solucione el posible use-after-free llamando a phy_device_reset() antes de put_device().
-
Vulnerabilidad en kernel de Linux (CVE-2022-48762)
Severidad: MEDIA
Fecha de publicación: 20/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: arm64: extable: corrige los índices de registro load_unaligned_zeropad() En ex_handler_load_unaligned_zeropad() extraemos erróneamente los datos y los índices de registro de direcciones de ex->type en lugar de ex->data. Como ex->type contendrá EX_TYPE_LOAD_UNALIGNED_ZEROPAD (es decir, 4): * Siempre trataremos a X0 como el registro de dirección, ya que EX_DATA_REG_ADDR se extrae de los bits [9:5]. Por lo tanto, podemos intentar eliminar la referencia a una dirección arbitraria ya que X0 puede tener un valor arbitrario. * Siempre trataremos a X4 como el registro de datos, ya que EX_DATA_REG_DATA se extrae de los bits [4:0]. Por lo tanto, corromperemos X4 y provocaremos un comportamiento arbitrario dentro de load_unaligned_zeropad() y su llamador. Solucione este problema extrayendo ambos valores de ex->data como se pretendía originalmente. En una imagen QEMU habilitada para MTE, nos encontramos con el siguiente bloqueo: No se puede manejar la desreferencia del puntero NULL del kernel en la dirección virtual 0000000000000000 Rastreo de llamadas: fixup_exception+0xc4/0x108 __do_kernel_fault+0x3c/0x268 do_tag_check_fault+0x3c/0x104 do_mem_abort+0x44/0 xf4 el1_abort+ 0x40/0x64 el1h_64_sync_handler+0x60/0xa0 el1h_64_sync+0x7c/0x80 link_path_walk+0x150/0x344 path_openat+0xa0/0x7dc do_filp_open+0xb8/0x168 do_sys_openat2+0x88/0x17c __arm64_s ys_openat+0x74/0xa0 invoke_syscall+0x48/0x148 el0_svc_common+0xb8/0xf8 do_el0_svc+ 0x28/0x88 el0_svc+0x24/0x84 el0t_64_sync_handler+0x88/0xec el0t_64_sync+0x1b4/0x1b8 Código: f8695a69 71007d1f 540000e0 927df12a (f940014a)
-
Vulnerabilidad en kernel de Linux (CVE-2022-48764)
Severidad: MEDIA
Fecha de publicación: 20/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: KVM: x86: Libere la matriz kvm_cpuid_entry2 en KVM_RUN KVM_SET_CPUID{,2} posterior a KVM_RUN KVM_SET_CPUID{,2} Libere la matriz "struct kvm_cpuid_entry2" en KVM_RUN KVM_SET_CPUID{,2} posterior a éxito para corregir una pérdida de memoria , las personas que llaman a kvm_set_cpuid() liberan la matriz solo en caso de falla. ERROR: pérdida de memoria, objeto sin referencia 0xffff88810963a800 (size 2048): comm "syz-executor025", pid 3610, jiffies 4294944928 (age 8.080s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 ................ 47 65 6e 75 6e 74 65 6c 69 6e 65 49 00 00 00 00 GenuntelineI.... backtrace: [] kmalloc_node include/linux/slab.h:604 [inline] [] kvmalloc_node+0x3e/0x100 mm/util.c:580 [] kvmalloc include/linux/slab.h:732 [inline] [] vmemdup_user+0x22/0x100 mm/util.c:199 [] kvm_vcpu_ioctl_set_cpuid2+0x8f/0xf0 arch/x86/kvm/cpuid.c:423 [] kvm_arch_vcpu_ioctl+0xb99/0x1e60 arch/x86/kvm/x86.c:5251 [] kvm_vcpu_ioctl+0x4ad/0x950 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4066 [] vfs_ioctl fs/ioctl.c:51 [inline] [] __do_sys_ioctl fs/ioctl.c:874 [inline] [] __se_sys_ioctl fs/ioctl.c:860 [inline] [] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:860 [] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 [] entry_SYSCALL_64_after_hwframe+0x44/0xae
-
Vulnerabilidad en kernel de Linux (CVE-2023-52883)
Severidad: ALTA
Fecha de publicación: 20/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: drm/amdgpu: se corrigió la posible desreferencia del puntero nulo abo->tbo.resource puede ser NULL en amdgpu_vm_bo_update.
-
Vulnerabilidad en kernel de Linux (CVE-2023-52884)
Severidad: MEDIA
Fecha de publicación: 21/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Entrada: cyapa: agrega bloqueo del núcleo de entrada faltante para suspender/reanudar funciones. Toma entrada->mutex durante las funciones de suspensión/reanudación como se hace en otros controladores de entrada. Esto corrige la siguiente advertencia durante el ciclo de suspensión/reanudación del sistema en Snow Chromebook basado en Samsung Exynos5250: ------------[ cortar aquí ]------------ ADVERTENCIA: CPU : 1 PID: 1680 en drivers/input/input.c:2291 input_device_enabled+0x68/0x6c Módulos vinculados en: ... CPU: 1 PID: 1680 Comm: kworker/u4:12 Contaminado: GW 6.6.0-rc5-next -20231009 #14109 Nombre de hardware: Samsung Exynos (árbol de dispositivos aplanados) Cola de trabajo: events_unbound async_run_entry_fn unwind_backtrace de show_stack+0x10/0x14 show_stack de dump_stack_lvl+0x58/0x70 dump_stack_lvl de __warn+0x1a8/0x1cc __warn de warn _slowpath_fmt+0x18c/0x1b4 warn_slowpath_fmt de input_device_enabled+ 0x68/0x6c input_device_enabled de cyapa_gen3_set_power_mode+0x13c/0x1dc cyapa_gen3_set_power_mode de cyapa_reinitialize+0x10c/0x15c cyapa_reinitialize de cyapa_resume+0x48/0x98 cyapa_resume de dpm_run_callback+0x90/ 0x298 dpm_run_callback de dispositivo_resume+0xb4/0x258 dispositivo_resume de async_resume+0x20/0x64 async_resume de async_run_entry_fn+0x40 /0x15c async_run_entry_fn de Process_scheduled_works+0xbc/0x6a8 Process_scheduled_works de trabajador_thread+0x188/0x454 trabajador_thread de kthread+0x108/0x140 kthread de ret_from_fork+0x14/0x28 Pila de excepciones (0xf1625fb0 a 0xf1 625ff8) ... ---[ final de seguimiento 0000000000000000 ]-- - ... ------------[ cortar aquí ]------------ ADVERTENCIA: CPU: 1 PID: 1680 en drivers/input/input.c:2291 input_device_enabled+0x68/0x6c Módulos vinculados en: ... CPU: 1 PID: 1680 Comm: kworker/u4:12 Tainted: GW 6.6.0-rc5-next-20231009 #14109 Nombre de hardware: Samsung Exynos (árbol de dispositivos aplanados) Cola de trabajo : events_unbound async_run_entry_fn unwind_backtrace de show_stack+0x10/0x14 show_stack de dump_stack_lvl+0x58/0x70 dump_stack_lvl de __warn+0x1a8/0x1cc __warn de warn_slowpath_fmt+0x18c/0x1b4 warn_slowpath_fmt de input_ dispositivo_enabled+0x68/0x6c input_device_enabled de cyapa_gen3_set_power_mode+0x13c/0x1dc cyapa_gen3_set_power_mode de cyapa_reinitialize+0x10c /0x15c cyapa_reinitialize de cyapa_resume+0x48/0x98 cyapa_resume de dpm_run_callback+0x90/0x298 dpm_run_callback de device_resume+0xb4/0x258 device_resume de async_resume+0x20/0x64 async_resume de async_run_entry_fn+0x40/0x 15c async_run_entry_fn de Process_scheduled_works+0xbc/0x6a8 Process_scheduled_works de trabajador_thread+0x188/ 0x454 work_thread de kthread+0x108/0x140 kthread de ret_from_fork+0x14/0x28 Pila de excepciones (0xf1625fb0 a 0xf1625ff8)... ---[fin de seguimiento 0000000000000000]---
-
Vulnerabilidad en kernel de Linux (CVE-2024-38623)
Severidad: CRÍTICA
Fecha de publicación: 21/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: fs/ntfs3: use una matriz de longitud variable en lugar de un tamaño fijo. Debería corregirse la advertencia de coincidencia: error ntfs_set_label(): __builtin_memcpy() 'uni->name' demasiado pequeño (20 vs 256)
-
Vulnerabilidad en kernel de Linux (CVE-2024-38628)
Severidad: MEDIA
Fecha de publicación: 21/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: usb: gadget: u_audio: se corrigió el uso de los controles en condiciones de ejecución después de liberarse durante la desvinculación del gadget. Conserve las ID de control en lugar de los punteros, ya que se manejan correctamente con candados.
-
Vulnerabilidad en kernel de Linux (CVE-2024-34027)
Severidad: ALTA
Fecha de publicación: 24/06/2024
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: f2fs: compress: corrección para cubrir {reserve,release}_compress_blocks() con bloqueo cp_rwsem Necesita cubrir {reserve,release}_compress_blocks() con bloqueo cp_rwsem para evitar ejecuciones con el punto de control; de lo contrario, los metadatos del sistema de archivos, incluido blkaddr en dnode, los campos de inodo y .total_valid_block_count, pueden dañarse después del caso SPO.
-
Vulnerabilidad en WeGIA (CVE-2024-57031)
Severidad: CRÍTICA
Fecha de publicación: 17/01/2025
Fecha de última actualización: 24/03/2025
WeGIA < 3.2.0 es vulnerable a inyección SQL en /funcionario/remuneracao.php a través del parámetro id_funcionario.
-
Vulnerabilidad en kernel de linux (CVE-2025-21633)
Severidad: ALTA
Fecha de publicación: 19/01/2025
Fecha de última actualización: 24/03/2025
En kernel de linux, se ha resuelto la siguiente vulnerabilidad: io_uring/sqpoll: cero errores sqd->thread en tctx Syzkeller informa: BUG: KASAN: slab-use-after-free in thread_group_cputime+0x409/0x700 kernel/sched/cputime.c:341 Read of size 8 at addr ffff88803578c510 by task syz.2.3223/27552 Call Trace: ... kasan_report+0x143/0x180 mm/kasan/report.c:602 thread_group_cputime+0x409/0x700 kernel/sched/cputime.c:341 thread_group_cputime_adjusted+0xa6/0x340 kernel/sched/cputime.c:639 getrusage+0x1000/0x1340 kernel/sys.c:1863 io_uring_show_fdinfo+0xdfe/0x1770 io_uring/fdinfo.c:197 seq_show+0x608/0x770 fs/proc/fd.c:68... Esto se debe a que sqd->task no se borra correctamente en los casos en que falla la configuración de tctx de la tarea SQPOLL, lo que esencialmente solo puede ocurrir con errores de inyección de errores en la asignación de insertos.
-
Vulnerabilidad en kernel de Linux (CVE-2025-21693)
Severidad: ALTA
Fecha de publicación: 10/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm: zswap: sincronizar correctamente la liberación de recursos durante la desconexión en caliente de la CPU En zswap_compress() y zswap_decompress(), se recupera y se utiliza en todo momento el acomp_ctx por CPU de la CPU actual al comienzo de la operación. Sin embargo, dado que ni la preempción ni la migración están deshabilitadas, es posible que la operación continúe en una CPU diferente. Si se desconecta en caliente la CPU original mientras el acomp_ctx todavía está en uso, nos encontramos con un error de UAF ya que algunos de los recursos adjuntos al acomp_ctx se liberan durante la desconexión en caliente en zswap_cpu_comp_dead() (es decir, acomp_ctx.buffer, acomp_ctx.req o acomp_ctx.acomp). El problema se introdujo en el commit 1ec3b5fe6eec ("mm/zswap: pasar a usar la API crypto_acomp para la aceleración de hardware") cuando se realizó el cambio a la API crypto_acomp. Antes de eso, el crypto_comp por CPU se recuperaba usando get_cpu_ptr() que deshabilita la preempción y se asegura de que la CPU no pueda irse de debajo de nosotros. La preempción no se puede deshabilitar con la API crypto_acomp ya que se necesita un contexto inactivo. Use acomp_ctx.mutex para sincronizar las devoluciones de llamadas hotplug de la CPU que asignan y liberan recursos con rutas de compresión/descompresión. Asegúrese de que acomp_ctx.req sea NULL cuando se liberan los recursos. En las rutas de compresión/descompresión, verifique si acomp_ctx.req es NULL después de adquirir el mutex (lo que significa que la CPU estaba fuera de línea) y vuelva a intentarlo en la nueva CPU. La inicialización de acomp_ctx.mutex se mueve de la devolución de llamada hotplug de la CPU a la inicialización del grupo donde pertenece (donde se asigna el mutex). Además de agregar claridad, esto asegura que la conexión en caliente de la CPU no pueda reinicializar un mutex que ya está bloqueado por compresión/descompresión. Anteriormente se intentó una solución manteniendo pulsada la tecla cpus_read_lock() [1]. Esto habría provocado un posible bloqueo, ya que es posible que el código que ya mantiene el bloqueo caiga en recuperación y entre en zswap (provocando un bloqueo). También se intentó una solución utilizando SRCU para la sincronización, pero Johannes señaló que no se puede utilizarsynchronous_srcu() en los notificadores de conexión en caliente de la CPU [2]. Workarounds que se consideraron/intentaron y que podrían haber funcionado: - Refcounting el acomp_ctx por CPU. Esto implica complejidad en la gestión de la ejecución entre el refcount que cae a cero en zswap_[de]compress() y el refcount que se reinicializa cuando la CPU está en línea. - Deshabilitar la migración antes de obtener el acomp_ctx por CPU [3], pero eso no se recomienda y es un martillo mucho más grande de lo necesario, y podría dar lugar a problemas de rendimiento sutiles. [1]https://lkml.kernel.org/20241219212437.2714151-1-yosryahmed@google.com/ [2]https://lkml.kernel.org/20250107074724.1756696-2-yosryahmed@google.com/ [3]https://lkml.kernel.org/20250107222236.2715883-2-yosryahmed@google.com/ [yosryahmed@google.com: eliminar comentario] Enlace: https://lkml.kernel.org/r/CAJD7tkaxS1wjn+swugt8QCvQ-rVF5RZnjxwPGX17k8x9zSManA@mail.gmail.com
-
Vulnerabilidad en kernel de Linux (CVE-2025-21700)
Severidad: ALTA
Fecha de publicación: 13/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: sched: No permitir el reemplazo de una qdisc secundaria de una primaria a otra Lion Ackermann pudo crear una UAF que se puede usar de forma abusiva para la escalada de privilegios con el siguiente script Step 1. create root qdisc tc qdisc add dev lo root handle 1:0 drr step2. a class for packet aggregation do demonstrate uaf tc class add dev lo classid 1:1 drr step3. a class for nesting tc class add dev lo classid 1:2 drr step4. a class to graft qdisc to tc class add dev lo classid 1:3 drr step5. tc qdisc add dev lo parent 1:1 handle 2:0 plug limit 1024 step6. tc qdisc add dev lo parent 1:2 handle 3:0 drr step7. tc class add dev lo classid 3:1 drr step 8. tc qdisc add dev lo parent 3:1 handle 4:0 pfifo step 9. Display the class/qdisc layout tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 limit 1000p qdisc drr 3: dev lo parent 1:2 step10. trigger the bug <=== prevented by this patch tc qdisc replace dev lo parent 1:3 handle 4:0 step 11. Redisplay again the qdiscs/classes tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 1:3 root leaf 4: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 refcnt 2 limit 1000p qdisc drr 3: dev lo parent 1:2 Observe that a) parent for 4:0 does not change despite the replace request. There can only be one parent. b) refcount has gone up by two for 4:0 and c) both class 1:3 and 3:1 are pointing to it. Step 12. send one packet to plug echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10001)) step13. send one packet to the grafted fifo echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10003)) step14. La semántica de "reemplazar" es para una eliminación/adición _en el mismo nodo_ y no para una eliminación de un nodo (3:1) y una adición a otro nodo (1:3) como en el paso 10. Si bien podríamos "arreglarlo" con un enfoque más complejo, podría haber consecuencias para las expectativas, por lo que el parche adopta el enfoque preventivo de "no permitir dicha configuración". Trabajo conjunto con Lion Ackermann
-
Vulnerabilidad en kernel de Linux (CVE-2025-21703)
Severidad: ALTA
Fecha de publicación: 18/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netem: Actualizar sch->q.qlen antes de qdisc_tree_reduce_backlog() qdisc_tree_reduce_backlog() notifica a la qdisc principal solo si la qdisc secundaria se vacía, por lo tanto, debemos reducir el backlog de la qdisc secundaria antes de llamarla. De lo contrario, perdería la oportunidad de llamar a cops->qlen_notify(), en el caso de DRR, resultó en UAF ya que DRR usa ->qlen_notify() para mantener su lista activa.
-
Vulnerabilidad en kernel de Linux (CVE-2021-47634)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ubi: Se corrige la condición de ejecución entre ctrl_cdev_ioctl y ubi_cdev_ioctl Hulk Robot informó un informe de KASAN sobre use-after-free: ====================================================================== ERROR: KASAN: use-after-free en __list_del_entry_valid+0x13d/0x160 Lectura de tamaño 8 en la dirección ffff888035e37d98 por la tarea ubiattach/1385 [...] Seguimiento de llamadas: klist_dec_and_del+0xa7/0x4a0 klist_put+0xc7/0x1a0 device_del+0x4d4/0xed0 cdev_device_del+0x1a/0x80 ubi_attach_mtd_dev+0x2951/0x34b0 [ubi] ctrl_cdev_ioctl+0x286/0x2f0 [ubi] Asignado por la tarea 1414: device_add+0x60a/0x18b0 cdev_device_add+0x103/0x170 ubi_create_volume+0x1118/0x1a10 [ubi] ubi_cdev_ioctl+0xb7f/0x1ba0 [ubi] Liberado por la tarea 1385: cdev_device_del+0x1a/0x80 ubi_remove_volume+0x438/0x6c0 [ubi] ubi_cdev_ioctl+0xbf4/0x1ba0 [ubi] [...] ===================================================================== El bloqueo retenido por ctrl_cdev_ioctl es ubi_devices_mutex, pero el bloqueo retenido por ubi_cdev_ioctl es ubi->device_mutex. Por lo tanto, los dos bloqueos pueden ser concurrentes. ctrl_cdev_ioctl contiene dos operaciones: ubi_attach y ubi_detach. ubi_detach está libre de errores porque utiliza el conteo de referencias para evitar la concurrencia. Sin embargo, uif_init y uif_close en ubi_attach pueden competir con ubi_cdev_ioctl. uif_init competirá con ubi_cdev_ioctl como en la siguiente pila. cpu1 cpu2 cpu3 _______________________|________________________|______________________ ctrl_cdev_ioctl ubi_attach_mtd_dev uif_init ubi_cdev_ioctl ubi_create_volume cdev_device_add ubi_add_volume // sysfs existen kill_volumes ubi_cdev_ioctl ubi_remove_volume cdev_device_del // primer ubi_free_volume libre cdev_del // doble liberación cdev_device_del Y uif_close competirá con ubi_cdev_ioctl como en la siguiente pila. cpu1 cpu2 cpu3 _______________________|________________________|______________________ ctrl_cdev_ioctl ubi_attach_mtd_dev uif_init ubi_cdev_ioctl ubi_create_volume cdev_device_add ubi_debugfs_init_dev //error goto out_uif; uif_close kill_volumes ubi_cdev_ioctl ubi_remove_volume cdev_device_del // primera liberación ubi_free_volume // doble liberación La causa de este problema es que la confirmación 714fb87e8bc0 hace que el dispositivo esté "disponible" antes de que se pueda acceder a él a través de sysfs. Por lo tanto, revertimos la modificación. Solucionaremos la condición de ejecución entre la creación del dispositivo ubi y udev eliminando ubi_get_device en vol_attribute_show y dev_attribute_show. Esto evita el acceso a ubi_devices[ubi_num] no inicializados. ubi_get_device se utiliza para evitar que se eliminen los dispositivos durante la ejecución de sysfs. Sin embargo, ahora kernfs garantiza que los dispositivos no se eliminarán antes de que se liberen todos los recuentos de referencias. El proceso clave se muestra en la siguiente pila. device_del device_remove_attrs device_remove_groups sysfs_remove_groups sysfs_remove_group remove_files kernfs_remove_by_name kernfs_remove_by_name_ns __kernfs_remove kernfs_drain
-
Vulnerabilidad en kernel de Linux (CVE-2021-47639)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: KVM: x86/mmu: Se eliminan _todos_ las raíces al anular la asignación del rango gfn en TDP MMU Se eliminan las raíces válidas e inválidas al hacer zapping/anular la asignación de un rango gfn, ya que KVM debe asegurarse de que no contiene referencias a la página liberada después de regresar de la operación de anulación de la asignación. En particular, TDP MMU no elimina las raíces inválidas en las devoluciones de llamadas mmu_notifier. Esto conduce a problemas de use-after-free y otros problemas si mmu_notifier se ejecuta hasta el final mientras que un zapper de raíz inválida cede, ya que KVM no cumple con el requisito de que no debe haber _ninguna_ referencia a la página después de que mmu_notifier regrese. El error se reproduce más fácilmente pirateando KVM para provocar una colisión entre set_nx_huge_pages() y kvm_mmu_notifier_release(), pero el error también existe entre kvm_mmu_notifier_invalidate_range_start() y las actualizaciones de memslot. Invalidar una raíz garantiza que el invitado no pueda acceder a las páginas, y KVM no leerá ni escribirá datos de página por sí mismo, pero KVM activará, por ejemplo, kvm_set_pfn_dirty() al hacer zapping de SPTE, y por lo tanto, completar un zapping de una raíz no válida _después_ de que mmu_notifier regrese es fatal. ADVERTENCIA: CPU: 24 PID: 1496 en arch/x86/kvm/../../../virt/kvm/kvm_main.c:173 [kvm] RIP: 0010:kvm_is_zone_device_pfn+0x96/0xa0 [kvm] Rastreo de llamadas: kvm_set_pfn_dirty+0xa8/0xe0 [kvm] __handle_changed_spte+0x2ab/0x5e0 [kvm] __handle_changed_spte+0x2ab/0x5e0 [kvm] __handle_changed_spte+0x2ab/0x5e0 [kvm] zap_gfn_range+0x1f3/0x310 [kvm] kvm_tdp_mmu_zap_raíces_invalidadas+0x50/0x90 [kvm] kvm_mmu_zap_all_fast+0x177/0x1a0 [kvm] set_nx_huge_pages+0xb4/0x190 [kvm] param_attr_store+0x70/0x100 module_attr_store+0x19/0x30 kernfs_fop_write_iter+0x119/0x1b0 new_sync_write+0x11c/0x1b0 vfs_write+0x1cc/0x270 ksys_write+0x5f/0xe0 do_syscall_64+0x38/0xc0 entry_SYSCALL_64_after_hwframe+0x44/0xae
-
Vulnerabilidad en kernel de Linux (CVE-2021-47646)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Revert "Revert "block, bfq: respetar las fusiones de colas ya configuradas"" Se produjo un fallo [1] junto con la confirmación 2d52c58b9c9b ("block, bfq: respetar las fusiones de colas ya configuradas"). Esta última se revirtió mediante la confirmación ebc69e897e17 ("Revert "block, bfq: respetar las fusiones de colas ya configuradas""). Sin embargo, la confirmación revertida no fue la que introdujo el error. De hecho, activó una UAF introducida por una confirmación diferente, y ahora corregida por la confirmación d29bd41428cf ("block, bfq: restablecer last_bfqq_created al cambiar de grupo"). Por lo tanto, no tiene sentido mantener la confirmación 2d52c58b9c9b ("block, bfq: respetar las fusiones de colas ya configuradas"). Esta confirmación la restaura. [1] https://bugzilla.kernel.org/show_bug.cgi?id=214503
-
Vulnerabilidad en kernel de Linux (CVE-2021-47653)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: media: davinci: vpif: fix use-after-free on driver unbind El controlador asigna y registra dos estructuras de dispositivos de plataforma durante la sonda, pero los dispositivos nunca se anularon el registro en la anulación del enlace del controlador. Esto da como resultado un use-after-free en la anulación del enlace del controlador, ya que las estructuras de dispositivos se asignaron utilizando devres y serían liberadas por el núcleo del controlador cuando remove() regrese. Solucione esto agregando las llamadas de anulación de registro faltantes a la devolución de llamada remove() y haciendo que la sonda falle en los errores de registro. Tenga en cuenta que las estructuras de dispositivos de plataforma se deben liberar utilizando una devolución de llamada de liberación adecuada para evitar filtrar recursos asociados, como nombres de dispositivos.
-
Vulnerabilidad en kernel de Linux (CVE-2021-47656)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: jffs2: se corrige el use-after-free en jffs2_clear_xattr_subsystem Cuando montamos una imagen jffs2, asumimos que los primeros bloques de la imagen son normales y contienen al menos un inodo relacionado con xattr, pero el siguiente bloque es anormal. Como resultado, se devuelve un error en jffs2_scan_eraseblock(). Luego se llama a jffs2_clear_xattr_subsystem() en jffs2_build_filesystem() y luego nuevamente en jffs2_do_fill_super(). Finalmente podemos observar el siguiente reporte: ======================================================================= ERROR: KASAN: use-after-free en jffs2_clear_xattr_subsystem+0x95/0x6ac Lectura de tamaño 8 en la dirección ffff8881243384e0 por la tarea mount/719 Rastreo de llamadas: dump_stack+0x115/0x16b jffs2_clear_xattr_subsystem+0x95/0x6ac jffs2_do_fill_super+0x84f/0xc30 jffs2_fill_super+0x2ea/0x4c0 mtd_get_sb+0x254/0x400 mtd_get_sb_by_nr+0x4f/0xd0 get_tree_mtd+0x498/0x840 jffs2_get_tree+0x25/0x30 vfs_get_tree+0x8d/0x2e0 path_mount+0x50f/0x1e50 do_mount+0x107/0x130 __se_sys_mount+0x1c5/0x2f0 __x64_sys_mount+0xc7/0x160 do_syscall_64+0x45/0x70 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Asignado por la tarea 719: kasan_save_stack+0x23/0x60 __kasan_kmalloc.constprop.0+0x10b/0x120 kasan_slab_alloc+0x12/0x20 kmem_cache_alloc+0x1c0/0x870 jffs2_alloc_xattr_ref+0x2f/0xa0 jffs2_scan_medium.cold+0x3713/0x4794 jffs2_do_mount_fs.cold+0xa7/0x2253 jffs2_do_fill_super+0x383/0xc30 jffs2_fill_super+0x2ea/0x4c0 [...] Liberado por la tarea 719: kmem_cache_free+0xcc/0x7b0 jffs2_free_xattr_ref+0x78/0x98 jffs2_clear_xattr_subsystem+0xa1/0x6ac jffs2_do_mount_fs.cold+0x5e6/0x2253 jffs2_do_fill_super+0x383/0xc30 jffs2_fill_super+0x2ea/0x4c0 [...] La dirección con errores pertenece al objeto en ffff8881243384b8 que pertenece al caché jffs2_xattr_ref de tamaño 48 La dirección con errores se encuentra 40 bytes dentro de la región de 48 bytes [ffff8881243384b8, ffff8881243384e8) [...] ========================================================================== La activación del ERROR se muestra en la siguiente pila: ----------------------------------------------------------- jffs2_fill_super jffs2_do_fill_super jffs2_do_mount_fs jffs2_build_filesystem jffs2_scan_medium jffs2_scan_eraseblock <--- ERROR jffs2_clear_xattr_subsystem <--- free jffs2_clear_xattr_subsystem <--- free again ----------------------------------------------------------- Se devuelve un error en jffs2_do_mount_fs(). Si jffs2_sum_init() devuelve el error, no es necesario ejecutar jffs2_clear_xattr_subsystem(). Si jffs2_build_filesystem() devuelve el error, tampoco es necesario volver a ejecutar jffs2_clear_xattr_subsystem(). Por lo tanto, mueva jffs2_clear_xattr_subsystem() de 'out_inohash' a 'out_root' para solucionar este problema de UAF.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49047)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ep93xx: clock: Arreglar UAF en ep93xx_clk_register_gate() arch/arm/mach-ep93xx/clock.c:154:2: advertencia: Uso de memoria después de que se libera [clang-analyzer-unix.Malloc] arch/arm/mach-ep93xx/clock.c:151:2: nota: Tomando rama verdadera si (IS_ERR(clk)) ^ arch/arm/mach-ep93xx/clock.c:152:3: nota: Se libera memoria kfree(psc); ^~~~~~~~~~ arch/arm/mach-ep93xx/clock.c:154:2: nota: Uso de memoria después de que se libera return &psc->hw; ^ ~~~~~~~~
-
Vulnerabilidad en kernel de Linux (CVE-2022-49053)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: target: tcmu: Fix possible page UAF tcmu_try_get_data_page() busca páginas bajo cmdr_lock, pero no toma el recuento de referencias correctamente y solo devuelve el puntero de página. Cuando tcmu_try_get_data_page() regresa, la página devuelta puede haber sido liberada por tcmu_blocks_release(). Necesitamos get_page() bajo cmdr_lock para evitar tcmu_blocks_release() concurrente.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49059)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nfc: nci: agregar flush_workqueue para evitar uaf Nuestro detector encontró un error de uso simultáneo después de la liberación al desconectar un dispositivo NCI. La razón principal de este error es la programación inesperada entre el mecanismo de retraso utilizado (temporizador y cola de trabajo). La ejecución se puede demostrar a continuación: Hilo-1 Hilo-2 | nci_dev_up() | nci_open_device() | __nci_request(nci_reset_req) | nci_send_cmd | queue_work(cmd_work) nci_unregister_device() | nci_close_device() | ... del_timer_sync(cmd_timer)[1] | ... | Trabajador nci_free_device() | nci_cmd_work() kfree(ndev)[3] | mod_timer(cmd_timer)[2] En resumen, la rutina de limpieza pensó que el cmd_timer ya había sido separado por [1] pero el mod_timer puede volver a unir el temporizador [2], incluso si ya está liberado [3], lo que da como resultado UAF. Este UAF es fácil de activar, el seguimiento de fallas por POC es como el siguiente [66.703713] ======================================================================= [66.703974] ERROR: KASAN: use-after-free en enqueue_timer+0x448/0x490 [66.703974] Escritura de tamaño 8 en la dirección ffff888009fb7058 por la tarea kworker/u4:1/33 [66.703974] [66.703974] CPU: 1 PID: 33 Comm: kworker/u4:1 No contaminado 5.18.0-rc2 #5 [ 66.703974] Cola de trabajo: nfc2_nci_cmd_wq nci_cmd_work [ 66.703974] Rastreo de llamadas: [ 66.703974] [ 66.703974] dump_stack_lvl+0x57/0x7d [ 66.703974] print_report.cold+0x5e/0x5db [ 66.703974] ? enqueue_timer+0x448/0x490 [ 66.703974] kasan_report+0xbe/0x1c0 [ 66.703974] ? enqueue_timer+0x448/0x490 [ 66.703974] enqueue_timer+0x448/0x490 [ 66.703974] __mod_timer+0x5e6/0xb80 [ 66.703974] ? mark_held_locks+0x9e/0xe0 [ 66.703974] ? try_to_del_timer_sync+0xf0/0xf0 [ 66.703974] ? lockdep_hardirqs_on_prepare+0x17b/0x410 [ 66.703974] ? queue_work_on+0x61/0x80 [ 66.703974] ? lockdep_hardirqs_on+0xbf/0x130 [ 66.703974] process_one_work+0x8bb/0x1510 [ 66.703974] ? lockdep_hardirqs_on_prepare+0x410/0x410 [ 66.703974] ? pwq_dec_nr_in_flight+0x230/0x230 [ 66.703974] ? rwlock_bug.part.0+0x90/0x90 [ 66.703974] ? _raw_spin_lock_irq+0x41/0x50 [ 66.703974] worker_thread+0x575/0x1190 [ 66.703974] ? process_one_work+0x1510/0x1510 [ 66.703974] kthread+0x2a0/0x340 [ 66.703974] ? kthread_complete_and_exit+0x20/0x20 [ 66.703974] ret_from_fork+0x22/0x30 [ 66.703974] [ 66.703974] [ 66.703974] Asignado por la tarea 267: [ 66.703974] kasan_save_stack+0x1e/0x40 [ 66.703974] __kasan_kmalloc+0x81/0xa0 [ 66.703974] nci_allocate_device+0xd3/0x390 [ 66.703974] nfcmrvl_nci_register_dev+0x183/0x2c0 [ 66.703974] Liberado por la tarea 406: [ 66.703974] kasan_save_stack+0x1e/0x40 [ 66.703974] kasan_set_track+0x21/0x30 [ 66.703974] kasan_set_free_info+0x20/0x30 [ 66.703974] __kasan_slab_free+0x108/0x170 [ 66.703974] kfree+0xb0/0x330 [ 66.703974] nfcmrvl_nci_unregister_dev+0x90/0xd0 [ 66.703974] nci_uart_tty_close+0xdf/0x180 [ 66.703974] tty_ldisc_kill+0x73/0x110 [ 66.703974] tty_ldisc_hangup+0x281/0x5b0 [ 66.703974] __tty_hangup.part.0+0x431/0x890 [ 66.703974] tty_release+0x3a8/0xc80 [ 66.703974] __fput+0x1f0/0x8c0 [ 66.703974] task_work_run+0xc9/0x170 [ 66.703974] exit_to_user_mode_prepare+0x194/0x1a0 [ 66.703974] syscall_exit_to_user_mode+0x19/0x50 [ 66.703974] do_syscall_64+0x48/0x90 [ 66.703974] entry_SYSCALL_64_after_hwframe+0x44/0x ---truncado---
-
Vulnerabilidad en kernel de Linux (CVE-2022-49063)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ice: arfs: corregir use-after-free al liberar @rx_cpu_rmap Los bots de prueba de CI activaron el siguiente splat: [ 718.203054] ERROR: KASAN: use-after-free en free_irq_cpu_rmap+0x53/0x80 [ 718.206349] Lectura de tamaño 4 en la dirección ffff8881bd127e00 por la tarea sh/20834 [ 718.212852] CPU: 28 PID: 20834 Comm: sh Kdump: cargado Tainted: GSW IOE 5.17.0-rc8_nextqueue-devqueue-02643-g23f3121aca93 #1 [ 718.219695] Hardware nombre: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0012.070720200218 07/07/2020 [ 718.223418] Seguimiento de llamadas: [ 718.227139] [ 718.230783] dump_stack_lvl+0x33/0x42 [ 718.234431] print_address_description.constprop.9+0x21/0x170 [ 718.238177] ? free_irq_cpu_rmap+0x53/0x80 [ 718.241885] ? informe_kasan.cold.18+0x7f/0x11b [ 718.249197] ? free_irq_cpu_rmap+0x53/0x80 [ 718.252852] free_irq_cpu_rmap+0x53/0x80 [ 718.256471] ice_free_cpu_rx_rmap.part.11+0x37/0x50 [hielo] [ 718.260174] ice_remove_arfs+0x5f/0x70 [hielo] [ 718.263810] ice_rebuild_arfs+0x3b/0x70 [hielo] [ 718.267419] ice_rebuild+0x39c/0xb60 [hielo] [ 718.270974] ? preempt_count_sub+0x14/0xc0 [ 718.284984] ? delay_tsc+0x8f/0xb0 [ 718.288463] ice_do_reset+0x92/0xf0 [ice] [ 718.292014] ice_pci_err_resume+0x91/0xf0 [ice] [ 718.295561] pci_reset_function+0x53/0x80 <...> [ 718.393035] Asignado por la tarea 690: [ 718.433497] Liberado por la tarea 20834: [ 718.495688] Última creación de trabajo potencialmente relacionada: [ 718.568966] La dirección con errores pertenece al objeto en ffff8881bd127e00 que pertenece a la caché kmalloc-96 de tamaño 96 [ 718.574085] La dirección con errores se encuentra a 0 bytes dentro de la región de 96 bytes [ffff8881bd127e00, ffff8881bd127e60) [ 718.579265] La dirección con errores pertenece a la página: [ 718.598905] Estado de la memoria alrededor de la dirección con errores: [ 718.601809] ffff8881bd127d00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc [ 718.604796] ffff8881bd127d80: 00 00 00 00 00 00 00 00 00 00 00 fc fc fc fc fc fc [ 718.607794] >ffff8881bd127e00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc [ 718.610811] ^ [ 718.613819] ffff8881bd127e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 fc fc fc fc [ 718.617107] ffff8881bd127f00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc Esto se debe a que free_irq_cpu_rmap() siempre se llama *después* de (devm_)free_irq() y, por lo tanto, intenta funcionar. con descripciones IRQ ya liberadas. Por ejemplo, al reiniciar el dispositivo, el controlador libera el rmap justo antes de asignar uno nuevo (el símbolo de arriba). Haga que la creación y liberación de rmap sean simétricas con las llamadas {request,free}_irq(), es decir, hágalo en ifup/ifdown en lugar de en la prueba/eliminación/reanudación del dispositivo. Estas operaciones se pueden realizar independientemente de la configuración aRFS del dispositivo real. Además, asegúrese de que ice_vsi_free_irq() borre los notificadores de afinidad IRQ solo cuando aRFS esté deshabilitado; de lo contrario, el rmap de la CPU establece y borra los suyos propios y no se deben tocar manualmente.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49076)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: RDMA/hfi1: Se corrige el error de use-after-free para la estructura mm En determinadas condiciones, como MPI_Abort, el código de limpieza hfi1 puede representar la última referencia retenida en la tarea mm. Luego, hfi1_mmu_rb_unregister() elimina la última referencia y la mm se libera antes del uso final en hfi1_release_user_pages(). Una nueva tarea puede asignar la estructura mm mientras aún se está utilizando, lo que genera problemas. Una manifestación es la corrupción del contador mmap_sem que provoca un bloqueo en down_write(). Otra es la corrupción de una estructura mm que está en uso por otra tarea.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49412)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bfq: evitar la fusión de colas con diferentes padres Puede suceder que el padre de un bfqq cambie entre el momento en que decidimos que vale la pena fusionar dos colas (y establecemos bic->stable_merge_bfqq) y el momento en que se llama a bfq_setup_merge(). Esto puede suceder, por ejemplo, porque el proceso envió IO para un cgroup diferente y, por lo tanto, bfqq se volvió a asignar como padre. Incluso puede suceder que el bfqq con el que estamos fusionando tenga un cgroup padre que ya está fuera de línea y se va a destruir, en cuyo caso la fusión puede provocar problemas de use-after-free, como: ERROR: KASAN: use-after-free in __bfq_deactivate_entity+0x9cb/0xa50 Read of size 8 at addr ffff88800693c0c0 by task runc:[2:INIT]/10544 CPU: 0 PID: 10544 Comm: runc:[2:INIT] Tainted: G E 5.15.2-0.g5fb85fd-default #1 openSUSE Tumbleweed (unreleased) f1f3b891c72369aebecd2e43e4641a6358867c70 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a-rebuilt.opensuse.org 04/01/2014 Call Trace: dump_stack_lvl+0x46/0x5a print_address_description.constprop.0+0x1f/0x140 ? __bfq_deactivate_entity+0x9cb/0xa50 kasan_report.cold+0x7f/0x11b ? __bfq_deactivate_entity+0x9cb/0xa50 __bfq_deactivate_entity+0x9cb/0xa50 ? update_curr+0x32f/0x5d0 bfq_deactivate_entity+0xa0/0x1d0 bfq_del_bfqq_busy+0x28a/0x420 ? resched_curr+0x116/0x1d0 ? bfq_requeue_bfqq+0x70/0x70 ? check_preempt_wakeup+0x52b/0xbc0 __bfq_bfqq_expire+0x1a2/0x270 bfq_bfqq_expire+0xd16/0x2160 ? try_to_wake_up+0x4ee/0x1260 ? bfq_end_wr_async_queues+0xe0/0xe0 ? _raw_write_unlock_bh+0x60/0x60 ? _raw_spin_lock_irq+0x81/0xe0 bfq_idle_slice_timer+0x109/0x280 ? bfq_dispatch_request+0x4870/0x4870 __hrtimer_run_queues+0x37d/0x700 ? enqueue_hrtimer+0x1b0/0x1b0 ? kvm_clock_get_cycles+0xd/0x10 ? ktime_get_update_offsets_now+0x6f/0x280 hrtimer_interrupt+0x2c8/0x740 Solucione el problema comprobando que el padre de los dos bfqqs que estamos fusionando en bfq_setup_merge() sea el mismo.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49413)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bfq: Actualizar la información del cgroup antes de fusionar bio Cuando el proceso se migra a un cgroup diferente (o en caso de escritura diferida simplemente comienza a enviar bios asociados con un cgroup diferente) bfq_merge_bio() puede operar con información de cgroup obsoleta en bic. Por lo tanto, la bio se puede fusionar con una solicitud de un cgroup diferente o puede resultar en la fusión de bfqqs para diferentes cgroups o bfqqs de cgroups ya inactivos y causar posibles problemas de use-after-free. Solucione el problema actualizando la información del cgroup en bfq_merge_bio().
-
Vulnerabilidad en kernel de Linux (CVE-2022-49416)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: mac80211: corrección de use-after-free en el código chanctx En ieee80211_vif_use_reserved_context(), cuando tenemos un contexto antiguo y el replace_state del nuevo contexto está configurado en IEEE80211_CHANCTX_REPLACE_NONE, liberamos el contexto antiguo en ieee80211_vif_use_reserved_reassign(). Por lo tanto, ya no podemos verificar el old_ctx, por lo que deberíamos configurarlo en NULL después de este punto. Sin embargo, dado que el estado de reemplazo de new_ctx claramente no es IEEE80211_CHANCTX_REPLACES_OTHER, no vamos a hacer nada más en esta función y podemos simplemente regresar para evitar acceder al old_ctx liberado.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49419)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup Commit b3c9a924aab6 ("fbdev: vesafb: Cleanup fb_info in .fb_destroy rather than .remove") corrigió un error de use-after-free debido a que el controlador vesafb liberaba fb_info en el controlador .remove en lugar de hacerlo en .fb_destroy. Esto puede suceder si la devolución de llamada .fb_destroy se ejecuta después de la devolución de llamada .remove, ya que la primera intenta acceder a un puntero liberado por la segunda. Pero ese cambio no tuvo en cuenta que otro escenario posible es que se llame a .fb_destroy antes de la devolución de llamada .remove. Por ejemplo, si ningún proceso tiene abierto el fbdev chardev en el momento en que se elimina el controlador. Si ese es el caso, fb_info se liberará cuando se llame a unregister_framebuffer(), lo que hará que el puntero fb_info al que se accedió en vesafb_remove() después de eso ya no sea válido. Para evitarlo, mueva la expresión que contiene info->par para que suceda antes de la llamada a la función unregister_framebuffer().
-
Vulnerabilidad en kernel de Linux (CVE-2022-49426)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iommu/arm-smmu-v3-sva: Se solucionó el problema de use-after-free de mm. Actualmente, llamamos a arm64_mm_context_put() sin mantener una referencia a mm, lo que puede resultar en un problema de use-after-free. Llamamos a mmgrab()/mmdrop() para asegurarnos de que mm solo se libere después de que desanclemos el ASID.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49464)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: erofs: arregla el desbordamiento de copia de búfer de la función ztailpacking Recibí un informe de KASAN como el siguiente: [ 46.959738] ======================================================================== [ 46.960430] ERROR: KASAN: use-after-free in z_erofs_shifted_transform+0x2bd/0x370 [ 46.960430] Read of size 4074 at addr ffff8880300c2f8e by task fssum/188 ... [ 46.960430] Call Trace: [ 46.960430] [ 46.960430] dump_stack_lvl+0x41/0x5e [ 46.960430] print_report.cold+0xb2/0x6b7 [ 46.960430] ? z_erofs_shifted_transform+0x2bd/0x370 [ 46.960430] kasan_report+0x8a/0x140 [ 46.960430] ? z_erofs_shifted_transform+0x2bd/0x370 [ 46.960430] kasan_check_range+0x14d/0x1d0 [ 46.960430] memcpy+0x20/0x60 [ 46.960430] z_erofs_shifted_transform+0x2bd/0x370 [ 46.960430] z_erofs_decompress_pcluster+0xaae/0x1080 La causa raíz es que el pcluster de cola ya no será un bloque de sistema de archivos completo. Por lo tanto, si se utiliza ztailpacking, la segunda parte de un pcluster de cola sin comprimir puede no ser ``rq->pageofs_out``.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49465)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: blk-throttle: Establecer BIO_THROTTLED cuando bio ha sido limitado 1. En el proceso actual, todos los bio establecerán el indicador BIO_THROTTLED después de __blk_throtl_bio(). 2. Si es necesario limitar bio, iniciará el temporizador y detendrá el envío de bio directamente. Bio se enviará en blk_throtl_dispatch_work_fn() cuando expire el temporizador. Pero en el proceso actual, si bio está limitado. BIO_THROTTLED se establecerá en bio después del inicio del temporizador. Si el bio se ha completado, puede causar una explosión de use-after-free. ERROR: KASAN: use-after-free in blk_throtl_bio+0x12f0/0x2c70 Read of size 2 at addr ffff88801b8902d4 by task fio/26380 dump_stack+0x9b/0xce print_address_description.constprop.6+0x3e/0x60 kasan_report.cold.9+0x22/0x3a blk_throtl_bio+0x12f0/0x2c70 submit_bio_checks+0x701/0x1550 submit_bio_noacct+0x83/0xc80 submit_bio+0xa7/0x330 mpage_readahead+0x380/0x500 read_pages+0x1c1/0xbf0 page_cache_ra_unbounded+0x471/0x6f0 do_page_cache_ra+0xda/0x110 ondemand_readahead+0x442/0xae0 page_cache_async_ra+0x210/0x300 generic_file_buffered_read+0x4d9/0x2130 generic_file_read_iter+0x315/0x490 blkdev_read_iter+0x113/0x1b0 aio_read+0x2ad/0x450 io_submit_one+0xc8e/0x1d60 __se_sys_io_submit+0x125/0x350 do_syscall_64+0x2d/0x40 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Allocated by task 26380: kasan_save_stack+0x19/0x40 __kasan_kmalloc.constprop.2+0xc1/0xd0 kmem_cache_alloc+0x146/0x440 mempool_alloc+0x125/0x2f0 bio_alloc_bioset+0x353/0x590 mpage_alloc+0x3b/0x240 do_mpage_readpage+0xddf/0x1ef0 mpage_readahead+0x264/0x500 read_pages+0x1c1/0xbf0 page_cache_ra_unbounded+0x471/0x6f0 do_page_cache_ra+0xda/0x110 ondemand_readahead+0x442/0xae0 page_cache_async_ra+0x210/0x300 generic_file_buffered_read+0x4d9/0x2130 generic_file_read_iter+0x315/0x490 blkdev_read_iter+0x113/0x1b0 aio_read+0x2ad/0x450 io_submit_one+0xc8e/0x1d60 __se_sys_io_submit+0x125/0x350 do_syscall_64+0x2d/0x40 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Freed by task 0: kasan_save_stack+0x19/0x40 kasan_set_track+0x1c/0x30 kasan_set_free_info+0x1b/0x30 __kasan_slab_free+0x111/0x160 kmem_cache_free+0x94/0x460 mempool_free+0xd6/0x320 bio_free+0xe0/0x130 bio_put+0xab/0xe0 bio_endio+0x3a6/0x5d0 blk_update_request+0x590/0x1370 scsi_end_request+0x7d/0x400 scsi_io_completion+0x1aa/0xe50 scsi_softirq_done+0x11b/0x240 blk_mq_complete_request+0xd4/0x120 scsi_mq_done+0xf0/0x200 virtscsi_vq_done+0xbc/0x150 vring_interrupt+0x179/0x390 __handle_irq_event_percpu+0xf7/0x490 handle_irq_event_percpu+0x7b/0x160 handle_irq_event+0xcc/0x170 handle_edge_irq+0x215/0xb20 common_interrupt+0x60/0x120 asm_common_interrupt+0x1e/0x40 Fix this by move BIO_THROTTLED set into the queue_lock.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49470)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: btmtksdio: se corrige el use-after-free en btmtksdio_recv_event Ya no deberíamos acceder a los datos del búfer skb después de llamar a hci_recv_frame. [ 39.634809] ERROR: KASAN: use-after-free in btmtksdio_recv_event+0x1b0 [ 39.634855] Read of size 1 at addr ffffff80cf28a60d by task kworker [ 39.634962] Call trace: [ 39.634974] dump_backtrace+0x0/0x3b8 [ 39.634999] show_stack+0x20/0x2c [ 39.635016] dump_stack_lvl+0x60/0x78 [ 39.635040] print_address_description+0x70/0x2f0 [ 39.635062] kasan_report+0x154/0x194 [ 39.635079] __asan_report_load1_noabort+0x44/0x50 [ 39.635099] btmtksdio_recv_event+0x1b0/0x1c4 [ 39.635129] btmtksdio_txrx_work+0x6cc/0xac4 [ 39.635157] process_one_work+0x560/0xc5c [ 39.635177] worker_thread+0x7ec/0xcc0 [ 39.635195] kthread+0x2d0/0x3d0 [ 39.635215] ret_from_fork+0x10/0x20 [ 39.635247] Allocated by task 0: [ 39.635260] (stack is not available) [ 39.635281] Freed by task 2392: [ 39.635295] kasan_save_stack+0x38/0x68 [ 39.635319] kasan_set_track+0x28/0x3c [ 39.635338] kasan_set_free_info+0x28/0x4c [ 39.635357] ____kasan_slab_free+0x104/0x150 [ 39.635374] __kasan_slab_free+0x18/0x28 [ 39.635391] slab_free_freelist_hook+0x114/0x248 [ 39.635410] kfree+0xf8/0x2b4 [ 39.635427] skb_free_head+0x58/0x98 [ 39.635447] skb_release_data+0x2f4/0x410 [ 39.635464] skb_release_all+0x50/0x60 [ 39.635481] kfree_skb+0xc8/0x25c [ 39.635498] hci_event_packet+0x894/0xca4 [bluetooth] [ 39.635721] hci_rx_work+0x1c8/0x68c [bluetooth] [ 39.635925] process_one_work+0x560/0xc5c [ 39.635951] worker_thread+0x7ec/0xcc0 [ 39.635970] kthread+0x2d0/0x3d0 [ 39.635990] ret_from_fork+0x10/0x20 [ 39.636021] The buggy address belongs to the object at ffffff80cf28a600 which belongs to the cache kmalloc-512 of size 512 [ 39.636039] The buggy address is located 13 bytes inside of 512-byte region [ffffff80cf28a600, ffffff80cf28a800)
-
Vulnerabilidad en kernel de Linux (CVE-2022-49474)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: se corrige el sco_conn colgante y el use-after-free en sco_sock_timeout Conectar el mismo socket dos veces consecutivas en sco_sock_connect() podría provocar una condición de ejecución en la que se crean dos objetos sco_conn pero solo uno está asociado con el socket. Si el socket se cierra antes de que se establezca la conexión SCO, el temporizador asociado con el objeto sco_conn colgante no se cancelará. A medida que se libera el objeto sock, el problema de use-after-free ocurre cuando la función de devolución de llamada del temporizador sco_sock_timeout() accede al socket. Aquí está el seguimiento de la llamada: dump_stack+0x107/0x163 ? refcount_inc+0x1c/ print_address_description.constprop.0+0x1c/0x47e ? refcount_inc+0x1c/0x7b kasan_report+0x13a/0x173 ? refcount_inc+0x1c/0x7b check_memory_region+0x132/0x139 refcount_inc+0x1c/0x7b sco_sock_timeout+0xb2/0x1ba process_one_work+0x739/0xbd1 ? cancel_delayed_work+0x13f/0x13f ? __raw_spin_lock_init+0xf0/0xf0 ? to_kthread+0x59/0x85 worker_thread+0x593/0x70e kthread+0x346/0x35a ? drain_workqueue+0x31a/0x31a ? kthread_bind+0x4b/0x4b ret_from_fork+0x1f/0x30
-
Vulnerabilidad en kernel de Linux (CVE-2022-49479)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mt76: se corrige la ejecución de use-after-free relacionada con el estado de la tx al eliminar la estación. Hay una pequeña ventana de ejecución donde la actividad de tx en curso puede provocar que se agregue un skb al idr de seguimiento de estado después de que ese idr ya se haya limpiado, lo que mantendrá el wcid vinculado en la lista de sondeo de estado. Solucione esto agregando skbs de estado solo si el puntero wcid aún está asignado en dev->wcid, que se limpia antes con mt76_sta_pre_rcu_remove
-
Vulnerabilidad en kernel de Linux (CVE-2022-49489)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/msm/disp/dpu1: establecer la configuración de hardware de vbif en NULL para evitar su uso después de liberar memoria durante la reanudación del tiempo de ejecución de pm ERROR: No se puede gestionar la solicitud de paginación del kernel en la dirección virtual 006b6b6b6b6b6be3 Call trace: dpu_vbif_init_memtypes+0x40/0xb8 dpu_runtime_resume+0xcc/0x1c0 pm_generic_runtime_resume+0x30/0x44 __genpd_runtime_resume+0x68/0x7c genpd_runtime_resume+0x134/0x258 __rpm_callback+0x98/0x138 rpm_callback+0x30/0x88 rpm_resume+0x36c/0x49c __pm_runtime_resume+0x80/0xb0 dpu_core_irq_uninstall+0x30/0xb0 dpu_irq_uninstall+0x18/0x24 msm_drm_uninit+0xd8/0x16c Patchwork: https://patchwork.freedesktop.org/patch/483255/ [DB: fixed Fixes tag]
-
Vulnerabilidad en kernel de Linux (CVE-2022-49493)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: rt5645: Se corrige el orden de depuración erróneo Hay un error lógico al eliminar el dispositivo rt5645, ya que la función rt5645_i2c_remove() primero cancela &rt5645->jack_detect_work y elimina &rt5645->btn_check_timer después. Sin embargo, dado que el controlador del temporizador rt5645_btn_check_callback() volverá a poner en cola jack_detect_work, este orden de limpieza tiene errores. Es decir, una vez que del_timer_sync en rt5645_i2c_remove se ejecuta simultáneamente con rt5645_btn_check_callback, el jack_detect_work cancelado se reprogramará nuevamente, lo que provocará un posible use-after-free. Este parche soluciona el problema colocando la función del_timer_sync antes de cancel_delayed_work_sync.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49501)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: usbnet: Ejecutar unregister_netdev() antes unbind() de nuevo El commit 2c9d6c2b871d ("usbnet: run unbind() antes unregister_netdev()") buscaba corregir un uso después de liberación (use-after-free) al desconectar los adaptadores USB Ethernet. Resulta que es necesaria una corrección diferente para abordar el problema: https://lore.kernel.org/netdev/18b3541e5372bc9b9fc733d422f4e698c089077c.1650177997.git.lukas@wunner.de/ Por lo tanto, el commit no era necesario. El commit hizo que la vinculación y desvinculación de USB Ethernet fuera asimétrica: antes, usbnet_probe() primero invocaba la devolución de llamada ->bind() y luego register_netdev(). usbnet_disconnect() reflejó eso al invocar primero unregister_netdev() y luego ->unbind(). Desde el commit, el orden en usbnet_disconnect() se invierte y ya no refleja usbnet_probe(). Una consecuencia es que un PHY desconectado (y detenido) en ->unbind() se detiene luego una vez más por unregister_netdev() ya que cierra el netdev antes de anular el registro. Eso requiere una contorsión en ->stop() porque el PHY solo se puede detener si no se ha desconectado ya. Revertir el commit permite hacer que la llamada a phy_stop() sea incondicional en ->stop().
-
Vulnerabilidad en kernel de Linux (CVE-2022-49505)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: NFC: NULL en dev->rfkill para evitar UAF Commit 3e3b5dfcd16a ("NFC: reordenar la lógica en nfc_{un,}register_device") supone que device_is_registered() en la función nfc_dev_up() ayudará a comprobar cuándo se anula el registro de rfkill. Sin embargo, esta comprobación solo tiene efecto cuando se realiza device_del(&dev->dev) en nfc_unregister_device(). Por lo tanto, el objeto rfkill aún puede desreferenciarse. El rastro de falla en el kernel más reciente (5.18-rc2): [ 68.760105] ======================================================================= [ 68.760330] BUG: KASAN: use-after-free in __lock_acquire+0x3ec1/0x6750 [ 68.760756] Read of size 8 at addr ffff888009c93018 by task fuzz/313 [ 68.760756] [ 68.760756] CPU: 0 PID: 313 Comm: fuzz Not tainted 5.18.0-rc2 #4 [ 68.760756] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 [ 68.760756] Call Trace: [ 68.760756] [ 68.760756] dump_stack_lvl+0x57/0x7d [ 68.760756] print_report.cold+0x5e/0x5db [ 68.760756] ? __lock_acquire+0x3ec1/0x6750 [ 68.760756] kasan_report+0xbe/0x1c0 [ 68.760756] ? __lock_acquire+0x3ec1/0x6750 [ 68.760756] __lock_acquire+0x3ec1/0x6750 [ 68.760756] ? lockdep_hardirqs_on_prepare+0x410/0x410 [ 68.760756] ? register_lock_class+0x18d0/0x18d0 [ 68.760756] lock_acquire+0x1ac/0x4f0 [ 68.760756] ? rfkill_blocked+0xe/0x60 [ 68.760756] ? lockdep_hardirqs_on_prepare+0x410/0x410 [ 68.760756] ? mutex_lock_io_nested+0x12c0/0x12c0 [ 68.760756] ? nla_get_range_signed+0x540/0x540 [ 68.760756] ? _raw_spin_lock_irqsave+0x4e/0x50 [ 68.760756] _raw_spin_lock_irqsave+0x39/0x50 [ 68.760756] ? rfkill_blocked+0xe/0x60 [ 68.760756] rfkill_blocked+0xe/0x60 [ 68.760756] nfc_dev_up+0x84/0x260 [ 68.760756] nfc_genl_dev_up+0x90/0xe0 [ 68.760756] genl_family_rcv_msg_doit+0x1f4/0x2f0 [ 68.760756] ? genl_family_rcv_msg_attrs_parse.constprop.0+0x230/0x230 [ 68.760756] ? security_capable+0x51/0x90 [ 68.760756] genl_rcv_msg+0x280/0x500 [ 68.760756] ? genl_get_cmd+0x3c0/0x3c0 [ 68.760756] ? lock_acquire+0x1ac/0x4f0 [ 68.760756] ? nfc_genl_dev_down+0xe0/0xe0 [ 68.760756] ? lockdep_hardirqs_on_prepare+0x410/0x410 [ 68.760756] netlink_rcv_skb+0x11b/0x340 [ 68.760756] ? genl_get_cmd+0x3c0/0x3c0 [ 68.760756] ? netlink_ack+0x9c0/0x9c0 [ 68.760756] ? netlink_deliver_tap+0x136/0xb00 [ 68.760756] genl_rcv+0x1f/0x30 [ 68.760756] netlink_unicast+0x430/0x710 [ 68.760756] ? memset+0x20/0x40 [ 68.760756] ? netlink_attachskb+0x740/0x740 [ 68.760756] ? __build_skb_around+0x1f4/0x2a0 [ 68.760756] netlink_sendmsg+0x75d/0xc00 [ 68.760756] ? netlink_unicast+0x710/0x710 [ 68.760756] ? netlink_unicast+0x710/0x710 [ 68.760756] sock_sendmsg+0xdf/0x110 [ 68.760756] __sys_sendto+0x19e/0x270 [ 68.760756] ? __ia32_sys_getpeername+0xa0/0xa0 [ 68.760756] ? fd_install+0x178/0x4c0 [ 68.760756] ? fd_install+0x195/0x4c0 [ 68.760756] ? kernel_fpu_begin_mask+0x1c0/0x1c0 [ 68.760756] __x64_sys_sendto+0xd8/0x1b0 [ 68.760756] ? lockdep_hardirqs_on+0xbf/0x130 [ 68.760756] ? syscall_enter_from_user_mode+0x1d/0x50 [ 68.760756] do_syscall_64+0x3b/0x90 [ 68.760756] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 68.760756] RIP: 0033:0x7f67fb50e6b3 ... [ 68.760756] RSP: 002b:00007f67fa91fe90 EFLAGS: 00000293 ORIG_RAX: 000000000000002c [ 68.760756] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f67fb50e6b3 [ 68.760756] RDX: 000000000000001c RSI: 0000559354603090 RDI: 0000000000000003 [ 68.760756] RBP: 00007f67fa91ff00 R08: 00007f67fa91fedc R09: 000000000000000c [ 68.760756] R10: 0000000000000000 R11: 0000000000000293 R12: 00007ffe824d496e [ 68.760756] R13: 00007ffe824d496f R14: 00007f67fa120000 R15: 0000000000000003 [ 68.760756] [ 68.760756] [ 68.760756] Allocated by task 279: [ 68.760756] kasan_save_stack+0x1e/0x40 [ ---truncated---
-
Vulnerabilidad en kernel de Linux (CVE-2022-49524)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: media: pci: cx23885: Se corrige la gestión de errores en cx23885_initdev() Cuando el controlador no puede llamar a dma_set_mask(), el controlador obtendrá el siguiente mensaje: [ 55.853884] ERROR: KASAN: use-after-free en __process_removed_driver+0x3c/0x240 [ 55.854486] Lectura de tamaño 8 en la dirección ffff88810de60408 por la tarea modprobe/590 [ 55.856822] Seguimiento de llamadas: [ 55.860327] __process_removed_driver+0x3c/0x240 [ 55.861347] bus_for_each_dev+0x102/0x160 [ 55.861681] i2c_del_driver+0x2f/0x50 Esto se debe a que el controlador ha inicializado los recursos relacionados con i2c en cx23885_dev_setup() pero no los liberó en la gestión de errores; corrija este error modificando la ruta de error que salta después de no poder llamar a dma_set_mask().
-
Vulnerabilidad en kernel de Linux (CVE-2022-49535)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: lpfc: Se corrige la desreferencia de puntero nulo después de no poder emitir FLOGI y PLOGI Si lpfc_issue_els_flogi() falla y devuelve un estado distinto de cero, el recuento de referencia del nodo se reduce para activar la liberación de la estructura de lista de nodos. Sin embargo, si hay un registro previo o trabajo dev-loss-evt pendiente, el nodo puede liberarse prematuramente. Cuando dev-loss-evt se completa, se hace referencia al nodo liberado, lo que provoca una desreferencia de puntero nulo de use-after-free. De manera similar, al procesar el estado de finalización de ELS PLOGI distinto de cero en lpfc_cmpl_els_plogi(), se comprueban los indicadores ndlp en busca de un registro de transporte antes de activar la eliminación del nodo. Si hay trabajo pendiente de dev-loss-evt, el nodo puede liberarse prematuramente y una llamada posterior a lpfc_dev_loss_tmo_handler() da como resultado un uso después de la desreferencia de ndlp libre. Agregue una prueba para dev-loss pendiente antes de disminuir el recuento de referencias de nodo para la gestión de FLOGI, PLOGI, PRLI y ADISC.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49622)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netfilter: nf_tables: evitar el acceso a skb en nf_stolen Cuando el veredicto es NF_STOLEN, es posible que se haya liberado el skb. Cuando el rastreo está habilitado, esto puede dar como resultado un use-after-free: 1. acceso a skb->nf_trace 2. acceso a skb->mark 3. cálculo del identificador de rastreo 4. volcado de el payload del paquete Para evitar 1, mantenga una copia en caché de skb->nf_trace en la estructura de estado de rastreo. Actualice esta copia siempre que el veredicto sea != STOLEN. Evite 2 omitiendo el acceso a skb->mark si el veredicto es STOLEN. 3 se evita precalculando el identificador de rastreo. Solo vuelque el paquete cuando el veredicto no sea "STOLEN".
-
Vulnerabilidad en kernel de Linux (CVE-2022-49626)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sfc: se corrige el use-after-free al deshabilitar sriov. El use-after-free es detectado por kfence al deshabilitar sriov. Lo que se leyó después de ser liberado fue vf->pci_dev: se liberó de pci_disable_sriov y luego se leyó en efx_ef10_sriov_free_vf_vports, llamado desde efx_ef10_sriov_free_vf_vswitching. Establezca el puntero en NULL en el momento de la liberación para no intentar leerlo más tarde. Registro del reproductor y dmesg (tenga en cuenta que kfence no lo detecta cada vez): $ echo 1 > /sys/class/net/enp65s0f0np0/device/sriov_numvfs $ echo 0 > /sys/class/net/enp65s0f0np0/device/sriov_numvfs BUG: KFENCE: use-after-free read in efx_ef10_sriov_free_vf_vswitching+0x82/0x170 [sfc] Use-after-free read at 0x00000000ff3c1ba5 (in kfence-#224): efx_ef10_sriov_free_vf_vswitching+0x82/0x170 [sfc] efx_ef10_pci_sriov_disable+0x38/0x70 [sfc] efx_pci_sriov_configure+0x24/0x40 [sfc] sriov_numvfs_store+0xfe/0x140 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae kfence-#224: 0x00000000edb8ef95-0x00000000671f5ce1, size=2792, cache=kmalloc-4k allocated by task 6771 on cpu 10 at 3137.860196s: pci_alloc_dev+0x21/0x60 pci_iov_add_virtfn+0x2a2/0x320 sriov_enable+0x212/0x3e0 efx_ef10_sriov_configure+0x67/0x80 [sfc] efx_pci_sriov_configure+0x24/0x40 [sfc] sriov_numvfs_store+0xba/0x140 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae freed by task 6771 on cpu 12 at 3170.991309s: device_release+0x34/0x90 kobject_cleanup+0x3a/0x130 pci_iov_remove_virtfn+0xd9/0x120 sriov_disable+0x30/0xe0 efx_ef10_pci_sriov_disable+0x57/0x70 [sfc] efx_pci_sriov_configure+0x24/0x40 [sfc] sriov_numvfs_store+0xfe/0x140 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae
-
Vulnerabilidad en kernel de Linux (CVE-2022-49647)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: cgroup: usar nodos src/dst separados al precargar css_sets para la migración Cada cset (css_set) está fijado por sus tareas. Cuando estamos moviendo tareas entre csets para una migración, necesitamos mantener los csets de origen y destino para asegurarnos de que no desaparezcan mientras movemos tareas. Esto se hace vinculando cset->mg_preload_node en la lista mgctx->preloaded_src_csets o mgctx->preloaded_dst_csets. Se consideró correcto usar el mismo cset->mg_preload_node para las listas src y dst, ya que un cset no puede ser el origen y el destino al mismo tiempo. Desafortunadamente, esta sobrecarga se vuelve problemática cuando hay varias tareas involucradas en una migración y algunas de ellas son migraciones de noop de identidad mientras que otras en realidad se están moviendo entre cgroup1: #1> mkdir -p /sys/fs/cgroup/misc/a/b #2> echo $$ > /sys/fs/cgroup/misc/a/cgroup.procs #3> RUN_A_COMMAND_WHICH_CREATES_MULTIPLE_THREADS & #4> PID=$! #5> echo $PID > /sys/fs/cgroup/misc/a/b/tasks #6> echo $PID > /sys/fs/cgroup/misc/a/cgroup.procs el proceso que incluye al líder del grupo de nuevo en a. En esta migración final, los subprocesos que no son líderes estarían realizando la migración de identidad mientras que el líder del grupo está realizando una real. Después del n.° 3, digamos que todo el proceso estaba en cset A, y que después del n.° 4, el líder se mueve al cset B. Luego, durante el n.° 6, sucede lo siguiente: 1. se llama a cgroup_migrate_add_src() en B para el líder. 2. se llama a cgroup_migrate_add_src() en A para los otros subprocesos. 3. se llama a cgroup_migrate_prepare_dst(). Escanea la lista src. 4. Se da cuenta de que B quiere migrar a A, por lo que intenta llevar A a la lista dst pero se da cuenta de que su ->mg_preload_node ya está ocupado. 5. y luego se da cuenta de que A quiere migrar a A como es una migración de identidad, lo descarta haciendo list_del_init()'ing su ->mg_preload_node y poniendo referencias en consecuencia. 6. El resto de la migración se lleva a cabo con B en la lista src pero nada en la lista dst. Esto significa que A no se mantiene mientras la migración está en progreso. Si todas las tareas abandonan A antes de que finalice la migración y la tarea entrante lo fija, el cset se destruirá, lo que provocará un use-after-free. Esto se debe a la sobrecarga de cset->mg_preload_node para las listas de precarga de src y dst. Queríamos excluir el cset de la lista de src, pero terminamos excluyéndolo inadvertidamente también de la lista de dst. Este parche soluciona el problema al separar cset->mg_preload_node en ->mg_src_preload_node y ->mg_dst_preload_node, de modo que las precargas de src y dst no interfieran entre sí.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49651)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: srcu: Reforzar las comprobaciones de GP de cleanup_srcu_struct() Actualmente, cleanup_srcu_struct() comprueba si hay un período de gracia en curso, pero no comprueba si hay un período de gracia que aún no ha comenzado pero que podría comenzar en cualquier momento. Una situación de este tipo podría dar lugar a un error de use-after-free, por lo que esta confirmación añade una comprobación de un período de gracia que es necesario pero que aún no ha comenzado a cleanup_srcu_struct().
-
Vulnerabilidad en kernel de Linux (CVE-2022-49667)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: bonding: fix use-after-free after 802.3ad slave unbind commit 0622cab0341c ("bonding: fix 802.3ad gregator reselection"), resuelve el caso, cuando hay varios grupos de agregación en el mismo enlace. bond_3ad_unbind_slave invalidará (borrará) el agregador cuando __agg_active_ports devuelva cero. Por lo tanto, ad_clear_agg se puede ejecutar incluso, cuando num_of_ports!=0. Luego, bond_3ad_unbind_slave se puede ejecutar nuevamente para el agregador previamente borrado. NOTA: en este momento bond_3ad_unbind_slave no actualizará la lista de puertos esclavos, porque lag_ports==NULL. Entonces, aquí tenemos puertos esclavos, apuntando a la memoria liberada del agregador. Corrección con la verificación del número real de puertos en el grupo (como era antes de el commit 0622cab0341c ("vinculación: corrección de la reselección del agregador 802.3ad")), antes de ad_clear_agg(). Los registros de KASAN son los siguientes: [ 767.617392] ================================================================== [ 767.630776] BUG: KASAN: use-after-free in bond_3ad_state_machine_handler+0x13dc/0x1470 [ 767.638764] Read of size 2 at addr ffff00011ba9d430 by task kworker/u8:7/767 [ 767.647361] CPU: 3 PID: 767 Comm: kworker/u8:7 Tainted: G O 5.15.11 #15 [ 767.655329] Hardware name: DNI AmazonGo1 A7040 board (DT) [ 767.660760] Workqueue: lacp_1 bond_3ad_state_machine_handler [ 767.666468] Call trace: [ 767.668930] dump_backtrace+0x0/0x2d0 [ 767.672625] show_stack+0x24/0x30 [ 767.675965] dump_stack_lvl+0x68/0x84 [ 767.679659] print_address_description.constprop.0+0x74/0x2b8 [ 767.685451] kasan_report+0x1f0/0x260 [ 767.689148] __asan_load2+0x94/0xd0 [ 767.692667] bond_3ad_state_machine_handler+0x13dc/0x1470
-
Vulnerabilidad en kernel de Linux (CVE-2022-49669)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mptcp: corregir la ejecución en sockets mptcp no aceptados Cuando se cierra el socket de escucha que posee la solicitud relevante, libera los subflujos no aceptados y eso provoca la eliminación posterior de los sockets MPTCP emparejados. El trabajador del socket mptcp puede ejecutarse en el intervalo de tiempo entre dichas operaciones de eliminación. Cuando eso sucede, cualquier acceso a msk->first provocará un acceso UaF, ya que la limpieza del subflujo no borró dicho campo en el socket mptcp. Aborde el problema recorriendo explícitamente la cola de aceptación del socket de escucha en el momento del cierre y realizando la limpieza necesaria en el msk pendiente. Tenga en cuenta que el bloqueo es un poco complicado, ya que necesitamos adquirir el bloqueo del socket msk, mientras aún poseemos el del socket del subflujo.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49685)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iio: trigger: sysfs: fix use-after-free on remove Asegúrese de que irq_work se haya completado antes de que se libere el disparador.================================================================== BUG: KASAN: use-after-free in irq_work_run_list Read of size 8 at addr 0000000064702248 by task python3/25 Call Trace: irq_work_run_list irq_work_tick update_process_times tick_sched_handle tick_sched_timer __hrtimer_run_queues hrtimer_interrupt Allocated by task 25: kmem_cache_alloc_trace iio_sysfs_trig_add dev_attr_store sysfs_kf_write kernfs_fop_write_iter new_sync_write vfs_write ksys_write sys_write Freed by task 25: kfree iio_sysfs_trig_remove dev_attr_store sysfs_kf_write kernfs_fop_write_iter new_sync_write vfs_write ksys_write sys_write ==================================================================
-
Vulnerabilidad en kernel de Linux (CVE-2022-49694)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: block: deshabilitar el elevador int del_gendisk El elevador solo se usa para solicitudes del sistema de archivos, que se detienen en del_gendisk. Mueva la desactivación del elevador y la liberación de las etiquetas del programador al final de del_gendisk en lugar de hacer ese trabajo en disk_release y blk_cleanup_queue para evitar un use-after-free en q->tag_set desde disk_release ya que tag_set podría no estar activo en ese punto. Mueva también la llamada blk_qos_exit, ya que solo depende de la salida del elevador y sería la única razón para mantener la congelación de la cola no exactamente barata en disk_release.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49695)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: igb: se soluciona un problema de use-after-free en igb_clean_tx_ring Se soluciona el siguiente error de use-after-free en la rutina igb_clean_tx_ring cuando la NIC se ejecuta en modo XDP. El problema se puede desencadenar al redirigir el tráfico a la NIC igb y luego cerrar el dispositivo mientras fluye el tráfico. [ 73.322719] CPU: 1 PID: 487 Comm: xdp_redirect Not tainted 5.18.3-apu2 #9 [ 73.330639] Hardware name: PC Engines APU2/APU2, BIOS 4.0.7 02/28/2017 [ 73.337434] RIP: 0010:refcount_warn_saturate+0xa7/0xf0 [ 73.362283] RSP: 0018:ffffc9000081f798 EFLAGS: 00010282 [ 73.367761] RAX: 0000000000000000 RBX: ffffc90000420f80 RCX: 0000000000000000 [ 73.375200] RDX: ffff88811ad22d00 RSI: ffff88811ad171e0 RDI: ffff88811ad171e0 [ 73.382590] RBP: 0000000000000900 R08: ffffffff82298f28 R09: 0000000000000058 [ 73.390008] R10: 0000000000000219 R11: ffffffff82280f40 R12: 0000000000000090 [ 73.397356] R13: ffff888102343a40 R14: ffff88810359e0e4 R15: 0000000000000000 [ 73.404806] FS: 00007ff38d31d740(0000) GS:ffff88811ad00000(0000) knlGS:0000000000000000 [ 73.413129] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 73.419096] CR2: 000055cff35f13f8 CR3: 0000000106391000 CR4: 00000000000406e0 [ 73.426565] Call Trace: [ 73.429087] [ 73.431314] igb_clean_tx_ring+0x43/0x140 [igb] [ 73.436002] igb_down+0x1d7/0x220 [igb] [ 73.439974] __igb_close+0x3c/0x120 [igb] [ 73.444118] igb_xdp+0x10c/0x150 [igb] [ 73.447983] ? igb_pci_sriov_configure+0x70/0x70 [igb] [ 73.453362] dev_xdp_install+0xda/0x110 [ 73.457371] dev_xdp_attach+0x1da/0x550 [ 73.461369] do_setlink+0xfd0/0x10f0 [ 73.465166] ? __nla_validate_parse+0x89/0xc70 [ 73.469714] rtnl_setlink+0x11a/0x1e0 [ 73.473547] rtnetlink_rcv_msg+0x145/0x3d0 [ 73.477709] ? rtnl_calcit.isra.0+0x130/0x130 [ 73.482258] netlink_rcv_skb+0x8d/0x110 [ 73.486229] netlink_unicast+0x230/0x340 [ 73.490317] netlink_sendmsg+0x215/0x470 [ 73.494395] __sys_sendto+0x179/0x190 [ 73.498268] ? move_addr_to_user+0x37/0x70 [ 73.502547] ? __sys_getsockname+0x84/0xe0 [ 73.506853] ? netlink_setsockopt+0x1c1/0x4a0 [ 73.511349] ? __sys_setsockopt+0xc8/0x1d0 [ 73.515636] __x64_sys_sendto+0x20/0x30 [ 73.519603] do_syscall_64+0x3b/0x80 [ 73.523399] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 73.528712] RIP: 0033:0x7ff38d41f20c [ 73.551866] RSP: 002b:00007fff3b945a68 EFLAGS: 00000246 ORIG_RAX: 000000000000002c [ 73.559640] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff38d41f20c [ 73.567066] RDX: 0000000000000034 RSI: 00007fff3b945b30 RDI: 0000000000000003 [ 73.574457] RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000000 [ 73.581852] R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff3b945ab0 [ 73.589179] R13: 0000000000000000 R14: 0000000000000003 R15: 00007fff3b945b30 [ 73.596545] [ 73.598842] ---[ end trace 0000000000000000 ]---
-
Vulnerabilidad en kernel de Linux (CVE-2022-49711)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bus: fsl-mc-bus: arregla el use-after-free de KASAN en fsl_mc_bus_remove() En fsl_mc_bus_remove(), mc->root_mc_bus_dev->mc_io se pasa a fsl_destroy_mc_io(). Sin embargo, mc->root_mc_bus_dev ya está liberado en fsl_mc_device_remove(). Entonces, la referencia a mc->root_mc_bus_dev->mc_io activa el use-after-free de KASAN. Para evitar el use-after-free, mantén la referencia a mc->root_mc_bus_dev->mc_io en una variable local y pásala a fsl_destroy_mc_io(). Este parche necesita ser rediseñado para que se aplique a kernels anteriores a la v5.15.
-
Vulnerabilidad en kernel de Linux (CVE-2022-49730)
Severidad: ALTA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: lpfc: Resolver la desreferencia de ptr NULL después de que se cancele un LOGOTIPO ELS Se puede producir un fallo de use-after-free después de que se cancele un LOGOTIPO ELS. Específicamente, se libera una estructura de lista de nodos y luego se desreferencia ndlp->vport->cfg_log_verbose en lpfc_nlp_get() cuando se llama por error a la máquina de estado de descubrimiento una segunda vez con el argumento NLP_EVT_DEVICE_RM. Reelabore lpfc_cmpl_els_logo() para evitar las llamadas duplicadas para liberar una estructura de lista de nodos.
-
Vulnerabilidad en Sina Extension for Elementor para WordPress (CVE-2025-1517)
Severidad: MEDIA
Fecha de publicación: 26/02/2025
Fecha de última actualización: 24/03/2025
El complemento Sina Extension for Elementor (Slider, Gallery, Form, Modal, Data Table, Tab, Particle, Free Elementor Widgets & Elementor Templates) para WordPress es vulnerable a cross site scripting almacenado a través de los códigos cortos Fancy Text, Countdown Widget y Login Form del complemento en todas las versiones hasta la 3.6.0 incluida, debido a una depuración de entrada insuficiente y al escape de salida en los atributos proporcionados por el usuario. Esto permite que atacantes autenticados, con acceso de nivel de colaborador y superior, inyecten secuencias de comandos web arbitrarias en páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada.
-
Vulnerabilidad en kernel de Linux (CVE-2024-57979)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: pps: Se corrige un error de use after free. En una placa que ejecuta ntpd y gpsd, veo un error de use after free constante en sys_exit() desde gpsd al reiniciar: pps pps1: eliminado ------------[ cortar aquí ]------------ kobject: '(null)' (00000000db4bec24): is not initialized, yet kobject_put() is being called. WARNING: CPU: 2 PID: 440 at lib/kobject.c:734 kobject_put+0x120/0x150 CPU: 2 UID: 299 PID: 440 Comm: gpsd Not tainted 6.11.0-rc6-00308-gb31c44928842 #1 Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT) pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : kobject_put+0x120/0x150 lr : kobject_put+0x120/0x150 sp : ffffffc0803d3ae0 x29: ffffffc0803d3ae0 x28: ffffff8042dc9738 x27: 0000000000000001 x26: 0000000000000000 x25: ffffff8042dc9040 x24: ffffff8042dc9440 x23: ffffff80402a4620 x22: ffffff8042ef4bd0 x21: ffffff80405cb600 x20: 000000000008001b x19: ffffff8040b3b6e0 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 696e6920746f6e20 x14: 7369203a29343263 x13: 205d303434542020 x12: 0000000000000000 x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 Call trace: kobject_put+0x120/0x150 cdev_put+0x20/0x3c __fput+0x2c4/0x2d8 ____fput+0x1c/0x38 task_work_run+0x70/0xfc do_exit+0x2a0/0x924 do_group_exit+0x34/0x90 get_signal+0x7fc/0x8c0 do_signal+0x128/0x13b4 do_notify_resume+0xdc/0x160 el0_svc+0xd4/0xf8 el0t_64_sync_handler+0x140/0x14c el0t_64_sync+0x190/0x194 ---[ end trace 0000000000000000 ]--- ...seguido de más síntomas de corrupción, con pilas similares: refcount_t: desbordamiento; use after free. ¡ERROR del kernel en lib/list_debug.c:62! Pánico del kernel - no sincroniza: Vaya - ERROR: Excepción fatal Esto sucede porque pps_device_destruct() libera el pps_device con el cdev integrado inmediatamente después de llamar a cdev_del(), pero, como señala el comentario anterior a cdev_del(), los fops para cdevs abiertos previamente aún se pueden llamar incluso después de que cdev_del() regrese. Creo que este error siempre ha estado ahí: no puedo explicar por qué de repente empezó a suceder cada vez que reinicio esta placa en particular. En el commit d953e0e837e6 ("pps: Arreglar un error de use after free al anular el registro de una fuente"), George Spelvin sugirió eliminar el cdev integrado. Esa parece la forma más sencilla de solucionarlo, así que he implementado su sugerencia, utilizando __register_chrdev() con pps_idr convirtiéndose en la fuente de verdad para la cual el menor corresponde a qué dispositivo. Pero ahora que pps_idr define la visibilidad del espacio de usuario en lugar de cdev_add(), debemos asegurarnos de que el recuento de referencias pps->dev no pueda llegar a cero mientras que el espacio de usuario aún pueda encontrarlo de nuevo. Entonces, la llamada idr_remove() se mueve a pps_unregister_cdev(), y pps_idr ahora contiene una referencia a pps->dev. pps_core: la fuente serial1 obtuvo cdev (251:1) <...> pps pps1: eliminado pps_core: anulando el registro de pps1 pps_core: desasignando pps1
-
Vulnerabilidad en kernel de Linux (CVE-2024-57984)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: i3c: dw: Arregla el use after free en el controlador dw_i3c_master debido a una condición de ejecución En dw_i3c_common_probe, &master->hj_work is bound with dw_i3c_hj_work. And dw_i3c_master_irq_handler can call dw_i3c_master_irq_handle_ibis function to start the work. If we remove the module which will call dw_i3c_common_remove to make cleanup, it will free master->base through i3c_master_unregister while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | dw_i3c_hj_work dw_i3c_common_remove | i3c_master_unregister(&master->base) | device_unregister(&master->dev) | device_release | //free master->base | | i3c_master_do_daa(&master->base) | //use master->base Solucione el problema asegurándose de que el trabajo se cancele antes de continuar con la depuración en dw_i3c_common_remove.
-
Vulnerabilidad en kernel de Linux (CVE-2025-21714)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: RDMA/mlx5: Arreglar el uso implícito de ODP después de la liberación Evitar la puesta en cola doble del trabajo de destrucción de mr de ODP implícito mediante __xa_cmpxchg() para asegurarse de que esta sea la única vez que destruyamos este mr específico. Sin este cambio, podríamos intentar invalidar este mr dos veces, lo que a su vez podría resultar en poner en cola una destrucción de trabajo de MR dos veces, y eventualmente el segundo trabajo podría ejecutarse después de que el MR se liberara debido al primer trabajo, causando un user after free y un seguimiento a continuación. refcount_t: desbordamiento insuficiente; use after free. ADVERTENCIA: CPU: 2 PID: 12178 at lib/refcount.c:28 refcount_warn_saturate+0x12b/0x130 Modules linked in: bonding ib_ipoib vfio_pci ip_gre geneve nf_tables ip6_gre gre ip6_tunnel tunnel6 ipip tunnel4 ib_umad rdma_ucm mlx5_vfio_pci vfio_pci_core vfio_iommu_type1 mlx5_ib vfio ib_uverbs mlx5_core iptable_raw openvswitch nsh rpcrdma ib_iser libiscsi scsi_transport_iscsi rdma_cm iw_cm ib_cm ib_core xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter rpcsec_gss_krb5 auth_rpcgss oid_registry overlay zram zsmalloc fuse [last unloaded: ib_uverbs] CPU: 2 PID: 12178 Comm: kworker/u20:5 Not tainted 6.5.0-rc1_net_next_mlx5_58c644e #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 Workqueue: events_unbound free_implicit_child_mr_work [mlx5_ib] RIP: 0010:refcount_warn_saturate+0x12b/0x130 Code: 48 c7 c7 38 95 2a 82 c6 05 bc c6 fe 00 01 e8 0c 66 aa ff 0f 0b 5b c3 48 c7 c7 e0 94 2a 82 c6 05 a7 c6 fe 00 01 e8 f5 65 aa ff <0f> 0b 5b c3 90 8b 07 3d 00 00 00 c0 74 12 83 f8 01 74 13 8d 50 ff RSP: 0018:ffff8881008e3e40 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000027 RDX: ffff88852c91b5c8 RSI: 0000000000000001 RDI: ffff88852c91b5c0 RBP: ffff8881dacd4e00 R08: 00000000ffffffff R09: 0000000000000019 R10: 000000000000072e R11: 0000000063666572 R12: ffff88812bfd9e00 R13: ffff8881c792d200 R14: ffff88810011c005 R15: ffff8881002099c0 FS: 0000000000000000(0000) GS:ffff88852c900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f5694b5e000 CR3: 00000001153f6003 CR4: 0000000000370ea0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ? refcount_warn_saturate+0x12b/0x130 free_implicit_child_mr_work+0x180/0x1b0 [mlx5_ib] process_one_work+0x1cc/0x3c0 worker_thread+0x218/0x3c0 kthread+0xc6/0xf0 ret_from_fork+0x1f/0x30
-
Vulnerabilidad en kernel de Linux (CVE-2025-21722)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nilfs2: no fuerza la depuración del folio si se hace referencia al búfer Serie de parches "nilfs2: protege los cabezales de búfer ocupados de ser borrados a la fuerza". Esta serie corrige los problemas de inconsistencia del estado del cabezal de búfer informados por syzbot que ocurren cuando el sistema de archivos está dañado y vuelve a solo lectura, y el problema asociado de uso del cabezal de búfer después de la liberación. Este parche (de 2): Syzbot ha informado que después de que nilfs2 detecta la corrupción del sistema de archivos y vuelve a solo lectura, pueden ocurrir inconsistencias en el estado del búfer. Una de las inconsistencias es que cuando nilfs2 llama a mark_buffer_dirty() para establecer un búfer de datos o metadatos como sucio, pero detecta que el búfer no está en el estado actualizado: ADVERTENCIA: CPU: 0 PID: 6049 at fs/buffer.c:1177 mark_buffer_dirty+0x2e5/0x520 fs/buffer.c:1177 ... Call Trace: nilfs_palloc_commit_alloc_entry+0x4b/0x160 fs/nilfs2/alloc.c:598 nilfs_ifile_create_inode+0x1dd/0x3a0 fs/nilfs2/ifile.c:73 nilfs_new_inode+0x254/0x830 fs/nilfs2/inode.c:344 nilfs_mkdir+0x10d/0x340 fs/nilfs2/namei.c:218 vfs_mkdir+0x2f9/0x4f0 fs/namei.c:4257 do_mkdirat+0x264/0x3a0 fs/namei.c:4280 __do_sys_mkdirat fs/namei.c:4295 [inline] __se_sys_mkdirat fs/namei.c:4293 [inline] __x64_sys_mkdirat+0x87/0xa0 fs/namei.c:4293 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f The other is when nilfs_btree_propagate(), which propagates the dirty state to the ancestor nodes of a b-tree that point to a dirty buffer, detects that the origin buffer is not dirty, even though it should be: WARNING: CPU: 0 PID: 5245 at fs/nilfs2/btree.c:2089 nilfs_btree_propagate+0xc79/0xdf0 fs/nilfs2/btree.c:2089 ... Call Trace: nilfs_bmap_propagate+0x75/0x120 fs/nilfs2/bmap.c:345 nilfs_collect_file_data+0x4d/0xd0 fs/nilfs2/segment.c:587 nilfs_segctor_apply_buffers+0x184/0x340 fs/nilfs2/segment.c:1006 nilfs_segctor_scan_file+0x28c/0xa50 fs/nilfs2/segment.c:1045 nilfs_segctor_collect_blocks fs/nilfs2/segment.c:1216 [inline] nilfs_segctor_collect fs/nilfs2/segment.c:1540 [inline] nilfs_segctor_do_construct+0x1c28/0x6b90 fs/nilfs2/segment.c:2115 nilfs_segctor_construct+0x181/0x6b0 fs/nilfs2/segment.c:2479 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2587 [inline] nilfs_segctor_thread+0x69e/0xe80 fs/nilfs2/segment.c:2701 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Ambos problemas son causados por las devoluciones de llamadas que manejan las solicitudes de escritura de página/folio, borran a la fuerza varios estados, incluido el estado de trabajo de los búferes que contienen, en momentos inesperados cuando detectan una reserva de solo lectura. Solucione estos problemas verificando si se hace referencia al búfer antes de borrar el estado de la página/folio y omitiendo la limpieza si es así.
-
Vulnerabilidad en kernel de Linux (CVE-2025-21726)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: padata: avoid UAF for reorder_work Although the previous patch can avoid ps and ps UAF for _do_serial, it can not avoid potential UAF issue for reorder_work. This issue can happen just as below: crypto_request crypto_request crypto_del_alg padata_do_serial ... padata_reorder // processes all remaining // requests then breaks while (1) { if (!padata) break; ... } padata_do_serial // new request added list_add // sees the new request queue_work(reorder_work) padata_reorder queue_work_on(squeue->work) ... padata_serial_worker // completes new request, // no more outstanding // requests crypto_del_alg // free pd invoke_padata_reorder // UAF of pd To avoid UAF for 'reorder_work', get 'pd' ref before put 'reorder_work' into the 'serial_wq' and put 'pd' ref until the 'serial_wq' finish.
-
Vulnerabilidad en kernel de Linux (CVE-2025-21727)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: padata: corrección de UAF en padata_reorder Se encontró un error al ejecutar la prueba ltp: ERROR: KASAN: slab-use-after-free in padata_find_next+0x29/0x1a0 Read of size 4 at addr ffff88bbfe003524 by task kworker/u113:2/3039206 CPU: 0 PID: 3039206 Comm: kworker/u113:2 Kdump: loaded Not tainted 6.6.0+ Workqueue: pdecrypt_parallel padata_parallel_worker Call Trace: dump_stack_lvl+0x32/0x50 print_address_description.constprop.0+0x6b/0x3d0 print_report+0xdd/0x2c0 kasan_report+0xa5/0xd0 padata_find_next+0x29/0x1a0 padata_reorder+0x131/0x220 padata_parallel_worker+0x3d/0xc0 process_one_work+0x2ec/0x5a0 If 'mdelay(10)' is added before calling 'padata_find_next' in the 'padata_reorder' function, this issue could be reproduced easily with ltp test (pcrypt_aead01). This can be explained as bellow: pcrypt_aead_encrypt ... padata_do_parallel refcount_inc(&pd->refcnt); // add refcnt ... padata_do_serial padata_reorder // pd while (1) { padata_find_next(pd, true); // using pd queue_work_on ... padata_serial_worker crypto_del_alg padata_put_pd_cnt // sub refcnt padata_free_shell padata_put_pd(ps->pd); // pd is freed // loop again, but pd is freed // call padata_find_next, UAF } En la función padata_reorder, cuando se repite en 'while', si se elimina el alg, el refcnt puede disminuirse a 0 antes de ingresar a 'padata_find_next', lo que lleva a UAF. Como se mencionó en [1], se supone que do_serial se debe llamar con los BH deshabilitados y siempre ocurre bajo la protección de RCU, para abordar este problema, agreguesynchronous_rcu() en 'padata_free_shell' y espere a que finalicen todas las llamadas a _do_serial. [1] https://lore.kernel.org/all/20221028160401.cccypv4euxikusiq@parnassus.localdomain/ [2] https://lore.kernel.org/linux-kernel/jfjz5d7zwbytztackem7ibzalm5lnxldi2eofeiczqmqs2m7o6@fq426cwnjtkm/
-
Vulnerabilidad en kernel de Linux (CVE-2025-21729)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: rtw89: se corrige la ejecución entre cancel_hw_scan y la finalización de hw_scan El indicador rtwdev->scanning no está protegido por mutex originalmente, por lo que cancel_hw_scan puede pasar la condición, pero de repente la finalización de hw_scan desconfigura el indicador y llama a ieee80211_scan_completed() que liberará local->hw_scan_req. Luego, cancel_hw_scan lanza null-ptr-deref y use-after-free. Arréglelo moviendo la condición de verificación a donde esté protegida por mutex. KASAN: null-ptr-deref in range [0x0000000000000088-0x000000000000008f] CPU: 2 PID: 6922 Comm: kworker/2:2 Tainted: G OE Hardware name: LENOVO 2356AD1/2356AD1, BIOS G7ETB6WW (2.76 ) 09/10/2019 Workqueue: events cfg80211_conn_work [cfg80211] RIP: 0010:rtw89_fw_h2c_scan_offload_be+0xc33/0x13c3 [rtw89_core] Code: 00 45 89 6c 24 1c 0f 85 23 01 00 00 48 8b 85 20 ff ff ff 48 8d RSP: 0018:ffff88811fd9f068 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: ffff88811fd9f258 RCX: 0000000000000001 RDX: 0000000000000011 RSI: 0000000000000001 RDI: 0000000000000089 RBP: ffff88811fd9f170 R08: 0000000000000000 R09: 0000000000000000 R10: ffff88811fd9f108 R11: 0000000000000000 R12: ffff88810e47f960 R13: 0000000000000000 R14: 000000000000ffff R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8881d6f00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007531dfca55b0 CR3: 00000001be296004 CR4: 00000000001706e0 Call Trace: ? show_regs+0x61/0x73 ? __die_body+0x20/0x73 ? die_addr+0x4f/0x7b ? exc_general_protection+0x191/0x1db ? asm_exc_general_protection+0x27/0x30 ? rtw89_fw_h2c_scan_offload_be+0xc33/0x13c3 [rtw89_core] ? rtw89_fw_h2c_scan_offload_be+0x458/0x13c3 [rtw89_core] ? __pfx_rtw89_fw_h2c_scan_offload_be+0x10/0x10 [rtw89_core] ? do_raw_spin_lock+0x75/0xdb ? __pfx_do_raw_spin_lock+0x10/0x10 rtw89_hw_scan_offload+0xb5e/0xbf7 [rtw89_core] ? _raw_spin_unlock+0xe/0x24 ? __mutex_lock.constprop.0+0x40c/0x471 ? __pfx_rtw89_hw_scan_offload+0x10/0x10 [rtw89_core] ? __mutex_lock_slowpath+0x13/0x1f ? mutex_lock+0xa2/0xdc ? __pfx_mutex_lock+0x10/0x10 rtw89_hw_scan_abort+0x58/0xb7 [rtw89_core] rtw89_ops_cancel_hw_scan+0x120/0x13b [rtw89_core] ieee80211_scan_cancel+0x468/0x4d0 [mac80211] ieee80211_prep_connection+0x858/0x899 [mac80211] ieee80211_mgd_auth+0xbea/0xdde [mac80211] ? __pfx_ieee80211_mgd_auth+0x10/0x10 [mac80211] ? cfg80211_find_elem+0x15/0x29 [cfg80211] ? is_bss+0x1b7/0x1d7 [cfg80211] ieee80211_auth+0x18/0x27 [mac80211] cfg80211_mlme_auth+0x3bb/0x3e7 [cfg80211] cfg80211_conn_do_work+0x410/0xb81 [cfg80211] ? __pfx_cfg80211_conn_do_work+0x10/0x10 [cfg80211] ? __kasan_check_read+0x11/0x1f ? psi_group_change+0x8bc/0x944 ? __kasan_check_write+0x14/0x22 ? mutex_lock+0x8e/0xdc ? __pfx_mutex_lock+0x10/0x10 ? __pfx___radix_tree_lookup+0x10/0x10 cfg80211_conn_work+0x245/0x34d [cfg80211] ? __pfx_cfg80211_conn_work+0x10/0x10 [cfg80211] ? update_cfs_rq_load_avg+0x3bc/0x3d7 ? sched_clock_noinstr+0x9/0x1a ? sched_clock+0x10/0x24 ? sched_clock_cpu+0x7e/0x42e ? newidle_balance+0x796/0x937 ? __pfx_sched_clock_cpu+0x10/0x10 ? __pfx_newidle_balance+0x10/0x10 ? __kasan_check_read+0x11/0x1f ? psi_group_change+0x8bc/0x944 ? _raw_spin_unlock+0xe/0x24 ? raw_spin_rq_unlock+0x47/0x54 ? raw_spin_rq_unlock_irq+0x9/0x1f ? finish_task_switch.isra.0+0x347/0x586 ? __schedule+0x27bf/0x2892 ? mutex_unlock+0x80/0xd0 ? do_raw_spin_lock+0x75/0xdb ? __pfx___schedule+0x10/0x10 process_scheduled_works+0x58c/0x821 worker_thread+0x4c7/0x586 ? __kasan_check_read+0x11/0x1f kthread+0x285/0x294 ? __pfx_worker_thread+0x10/0x10 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x29/0x6f ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30
-
Vulnerabilidad en kernel de Linux (CVE-2025-21731)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nbd: no permitir la reconexión después de la desconexión El siguiente proceso puede causar el nbd_config UAF: 1) grab nbd_config temporarily; 2) nbd_genl_disconnect() flush all recv_work() and release the initial reference: nbd_genl_disconnect nbd_disconnect_and_put nbd_disconnect flush_workqueue(nbd->recv_workq) if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF, ...)) nbd_config_put -> due to step 1), reference is still not zero 3) nbd_genl_reconfigure() queue recv_work() again; nbd_genl_reconfigure config = nbd_get_config_unlocked(nbd) if (!config) -> succeed if (!test_bit(NBD_RT_BOUND, ...)) -> succeed nbd_reconnect_socket queue_work(nbd->recv_workq, &args->work) 4) step 1) release the reference; 5) Finially, recv_work() will trigger UAF: recv_work nbd_config_put(nbd) -> nbd_config is freed atomic_dec(&config->recv_threads) -> UAF Fix the problem by clearing NBD_RT_BOUND in nbd_genl_disconnect(), so that nbd_genl_reconfigure() will fail.
-
Vulnerabilidad en kernel de Linux (CVE-2024-49570)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/xe/tracing: Arreglar un UAF potencial de TP_printk el commit afd2627f727b ("tracing: Comprobar la desreferencia de "%s" mediante el campo y no el formato TP_printk") expone posibles UAF en el evento de seguimiento xe_bo_move. Arregle estos problemas evitando desreferenciar la matriz xe_mem_type_to_name[] en el momento de TP_printk. Dado que se ha realizado cierta refactorización del código, es posible que se necesite una retroportación explícita para kernels anteriores a la versión 6.10.
-
Vulnerabilidad en kernel de Linux (CVE-2024-54458)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: ufs: bsg: Establecer bsg_queue en NULL después de la eliminación Actualmente, esto no causa ningún problema, pero creo que es necesario establecer bsg_queue en NULL después de eliminarlo para evitar un posible acceso de use after free (UAF).
-
Vulnerabilidad en kernel de Linux (CVE-2024-58013)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: MGMT: Corregir lectura slab-use-after-free en mgmt_remove_adv_monitor_sync Esto corrige el siguiente fallo: ===================================================================== ERROR: KASAN: slab-use-after-free in mgmt_remove_adv_monitor_sync+0x3a/0xd0 net/bluetooth/mgmt.c:5543 Read of size 8 at addr ffff88814128f898 by task kworker/u9:4/5961 CPU: 1 UID: 0 PID: 5961 Comm: kworker/u9:4 Not tainted 6.12.0-syzkaller-10684-gf1cd565ce577 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: hci0 hci_cmd_sync_work Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 mgmt_remove_adv_monitor_sync+0x3a/0xd0 net/bluetooth/mgmt.c:5543 hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Allocated by task 16026: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4314 kmalloc_noprof include/linux/slab.h:901 [inline] kzalloc_noprof include/linux/slab.h:1037 [inline] mgmt_pending_new+0x65/0x250 net/bluetooth/mgmt_util.c:269 mgmt_pending_add+0x36/0x120 net/bluetooth/mgmt_util.c:296 remove_adv_monitor+0x102/0x1b0 net/bluetooth/mgmt.c:5568 hci_mgmt_cmd+0xc47/0x11d0 net/bluetooth/hci_sock.c:1712 hci_sock_sendmsg+0x7b8/0x11c0 net/bluetooth/hci_sock.c:1832 sock_sendmsg_nosec net/socket.c:711 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:726 sock_write_iter+0x2d7/0x3f0 net/socket.c:1147 new_sync_write fs/read_write.c:586 [inline] vfs_write+0xaeb/0xd30 fs/read_write.c:679 ksys_write+0x18f/0x2b0 fs/read_write.c:731 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 16022: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2338 [inline] slab_free mm/slub.c:4598 [inline] kfree+0x196/0x420 mm/slub.c:4746 mgmt_pending_foreach+0xd1/0x130 net/bluetooth/mgmt_util.c:259 __mgmt_power_off+0x183/0x430 net/bluetooth/mgmt.c:9550 hci_dev_close_sync+0x6c4/0x11c0 net/bluetooth/hci_sync.c:5208 hci_dev_do_close net/bluetooth/hci_core.c:483 [inline] hci_dev_close+0x112/0x210 net/bluetooth/hci_core.c:508 sock_do_ioctl+0x158/0x460 net/socket.c:1209 sock_ioctl+0x626/0x8e0 net/socket.c:1328 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl+0xf5/0x170 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
-
Vulnerabilidad en kernel de Linux (CVE-2025-21761)
Severidad: ALTA
Fecha de publicación: 27/02/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: openvswitch: usar la protección RCU en ovs_vport_cmd_fill_info() ovs_vport_cmd_fill_info() se puede llamar sin RTNL o RCU. Use la protección RCU y dev_net_rcu() para evitar posibles UAF.
-
Vulnerabilidad en kernel de Linux (CVE-2024-58084)
Severidad: MEDIA
Fecha de publicación: 06/03/2025
Fecha de última actualización: 24/03/2025
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: firmware: qcom: scm: Fix missing read barrier in qcom_scm_get_tzmem_pool() el commit 2e4955167ec5 ("firmware: qcom: scm: Fix __scm and waitq ending variable initialization") introdujo una barrera de escritura en la función de sondeo para almacenar la variable global '__scm'. Todos sabemos que las barreras están emparejadas (consulte memory-barriers.txt: "Note que las barreras de escritura normalmente deben emparejarse con barreras de lectura o de dependencia de dirección"), por lo tanto, acceder a ellas desde contextos concurrentes requiere una barrera de lectura. Una confirmación anterior agregó dicha barrera en qcom_scm_is_available(), así que usémosla directamente. La falta de esta barrera de lectura puede resultar en la obtención del valor de la variable '__scm' obsoleto, NULL, y su desreferenciación. Tenga en cuenta que la barrera en qcom_scm_is_available() satisface aquí la dependencia de control.
-
Vulnerabilidad en ImageSharp (CVE-2025-27598)
Severidad: ALTA
Fecha de publicación: 06/03/2025
Fecha de última actualización: 24/03/2025
ImageSharp es una API de gráficos 2D. Se ha encontrado una vulnerabilidad de escritura fuera de los límites en el decodificador de gifs de ImageSharp, que permite a los atacantes provocar un bloqueo utilizando un gif especialmente manipulado. Esto puede provocar una denegación de servicio. El problema ha sido corregido. Se recomienda a todos los usuarios que actualicen a la versión 3.1.7 o 2.1.10.
-
Vulnerabilidad en HT Mega – Absolute Addons For Elementor para WordPress (CVE-2025-1261)
Severidad: MEDIA
Fecha de publicación: 08/03/2025
Fecha de última actualización: 24/03/2025
El complemento HT Mega – Absolute Addons For Elementor para WordPress es vulnerable a cross site scripting almacenado basadas en DOM a través del widget Countdown del complemento en todas las versiones hasta la 2.8.2 incluida, debido a una depuración de entrada y al escape de salida insuficiente en los atributos proporcionados por el usuario. Esto hace posible que atacantes autenticados, con acceso de nivel de colaborador y superior, inyecten scripts web arbitrarios en las páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada. NOTA: Esta vulnerabilidad existe debido a una corrección incompleta de CVE-2024-3307.
-
Vulnerabilidad en Post Lockdown para WordPress (CVE-2025-1504)
Severidad: MEDIA
Fecha de publicación: 08/03/2025
Fecha de última actualización: 24/03/2025
El complemento Post Lockdown para WordPress es vulnerable a la exposición de información en todas las versiones hasta la 4.0.2 incluida a través de la acción AJAX 'pl_autocomplete' debido a restricciones insuficientes sobre qué publicaciones se pueden incluir. Esto hace posible que atacantes autenticados, con acceso de nivel de suscriptor y superior, extraigan datos de publicaciones protegidas con contraseña, privadas o borradores a las que no deberían tener acceso.
-
Vulnerabilidad en The Plus Addons for Elementor – Elementor Addons, Page Templates, Widgets, Mega Menu, WooCommerce para WordPress (CVE-2025-1287)
Severidad: MEDIA
Fecha de publicación: 08/03/2025
Fecha de última actualización: 24/03/2025
El complemento The Plus Addons for Elementor – Elementor Addons, Page Templates, Widgets, Mega Menu, WooCommerce para WordPress es vulnerable a cross site scripting almacenado a través de los widgets Countdown, Syntax Highlighter y Page Scroll en todas las versiones hasta la 6.2.2 incluida debido a una depuración de entrada y al escape de salida insuficiente. Esto permite que atacantes autenticados, con acceso de nivel de colaborador y superior, inyecten scripts web arbitrarios en las páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada.
-
Vulnerabilidad en WP-Recall – Registration, Profile, Commerce & More para WordPress (CVE-2025-1324)
Severidad: MEDIA
Fecha de publicación: 08/03/2025
Fecha de última actualización: 24/03/2025
El complemento WP-Recall – Registration, Profile, Commerce & More para WordPress es vulnerable a cross site scripting almacenados a través del código abreviado "public-form" del complemento en todas las versiones hasta la 16.26.10 incluida, debido a una depuración de entrada y al escape de salida insuficiente en los atributos proporcionados por el usuario. Esto permite que atacantes autenticados, con acceso de nivel de colaborador y superior, inyecten scripts web arbitrarios en las páginas que se ejecutarán siempre que un usuario acceda a una página inyectada.
-
Vulnerabilidad en WP-Recall – Registration, Profile, Commerce & More para WordPress (CVE-2025-1325)
Severidad: MEDIA
Fecha de publicación: 08/03/2025
Fecha de última actualización: 24/03/2025
El complemento WP-Recall – Registration, Profile, Commerce & More para WordPress es vulnerable a la ejecución de códigos cortos arbitrarios debido a una verificación de capacidad faltante en el endpoint AJAX 'rcl_preview_post' en todas las versiones hasta la 16.26.10 incluida. Esto hace posible que atacantes autenticados, con acceso de nivel de suscriptor y superior, ejecuten códigos cortos arbitrarios.
-
Vulnerabilidad en Gallery Styles para WordPress (CVE-2025-1783)
Severidad: MEDIA
Fecha de publicación: 08/03/2025
Fecha de última actualización: 24/03/2025
El complemento Gallery Styles para WordPress es vulnerable a cross site scripting almacenado a través del bloque Gallery en todas las versiones hasta la 1.3.4 incluida, debido a una depuración de entrada y al escape de salida insuficiente. Esto permite que atacantes autenticados, con acceso de nivel de colaborador y superior, inyecten scripts web arbitrarios en las páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada.
-
Vulnerabilidad en redoxOS relibc (CVE-2024-57492)
Severidad: MEDIA
Fecha de publicación: 10/03/2025
Fecha de última actualización: 24/03/2025
Un problema en redoxOS relibc antes del commit 98aa4ea5 permite que un atacante local provoque una denegación de servicio a través de la función round_up_to_page.
-
Vulnerabilidad en PlotAI (CVE-2025-1497)
Severidad: CRÍTICA
Fecha de publicación: 10/03/2025
Fecha de última actualización: 24/03/2025
Se ha descubierto una vulnerabilidad en PlotAI que podría provocar la ejecución remota de código (RCE). La falta de validación de la salida generada por LLM permite al atacante ejecutar código Python arbitrario. El proveedor ha comentado la línea vulnerable; para seguir utilizando el software es necesario descomentarla y, por lo tanto, aceptar el riesgo. El proveedor no tiene previsto publicar un parche para solucionar esta vulnerabilidad.
-
Vulnerabilidad en ShopLentor – WooCommerce Builder for Elementor & Gutenberg +20 Modules – All in One Solution para WordPress (CVE-2025-1527)
Severidad: MEDIA
Fecha de publicación: 12/03/2025
Fecha de última actualización: 24/03/2025
El complemento ShopLentor – WooCommerce Builder for Elementor & Gutenberg +20 Modules – All in One Solution (formerly WooLentor) para WordPress es vulnerable a un ataque de Cross-Site Scripting basado en DOM almacenado a través del módulo Flash Sale Countdown del complemento en todas las versiones hasta la 3.1.0 incluida, debido a una depuración de entrada y al escape de salida insuficiente en los atributos proporcionados por el usuario. Esto permite a atacantes autenticados, con acceso de colaborador o superior, inyectar scripts web arbitrarios en las páginas que se ejecutarán al acceder a una página inyectada.
-
Vulnerabilidad en DethemeKit para Elementor de WordPress (CVE-2025-1526)
Severidad: MEDIA
Fecha de publicación: 14/03/2025
Fecha de última actualización: 24/03/2025
El complemento DethemeKit para Elementor de WordPress es vulnerable a Cross Site Scripting almacenado a través del widget de visualización de producto (función de cuenta regresiva) en todas las versiones hasta la 2.1.9 incluida, debido a una depuración de entrada y al escape de salida insuficiente. Esto permite a atacantes autenticados, con acceso de colaborador o superior, inyectar secuencias de comandos web arbitrarias en páginas que se ejecutarán al acceder un usuario a una página inyectada.
-
Vulnerabilidad en AutoBib - Bibliographic collection management system 3.1.140 (CVE-2024-55009)
Severidad: MEDIA
Fecha de publicación: 19/03/2025
Fecha de última actualización: 24/03/2025
Una vulnerabilidad de cross-site scripting (XSS) reflejado en AutoBib - Bibliographic collection management system 3.1.140 y anteriores permite a los atacantes ejecutar Javascript arbitrario en el contexto del navegador de una víctima mediante la inyección de un payload manipulado en el parámetro WCE=topFrame&WCU=.