Instituto Nacional de ciberseguridad. Sección Incibe

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 kernel de Linux (CVE-2024-26658)
    Severidad: MEDIA
    Fecha de publicación: 02/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: bcachefs: toma s_umount solo si se toma una instantánea Cuando estaba probando mongodb sobre bcachefs con compresión, hay una advertencia de lockdep al tomar una instantánea del volumen de datos de mongodb. $ cat test.sh prog=bcachefs $prog subvolumen crear /mnt/data $prog subvolumen crear /mnt/data/snapshots mientras es verdadero;do $prog subvolumen snapshot /mnt/data /mnt/data/snapshots/$(fecha +% s) dormir 1 hecho $ cat /etc/mongodb.conf systemLog: destino: archivo logAppend: verdadera ruta: /mnt/data/mongod.log almacenamiento: dbPath: /mnt/data/ lockdep informes: [3437.452330] ==== ==================================================== [ 3437.452750] ADVERTENCIA: posible dependencia de bloqueo circular detectada [ 3437.453168] 6.7.0-rc7-custom+ #85 Contaminado: GE [ 3437.453562] ---------------------- -------------------------------- [ 3437.453981] bcachefs/35533 está intentando adquirir el bloqueo: [ 3437.454325] ffffa0a02b2b1418 (sb_writers #10){.+.+}-{0:0}, en: filename_create+0x62/0x190 [ 3437.454875] pero la tarea ya mantiene el bloqueo: [ 3437.455268] ffffa0a02b2b10e0 (&type->s_umount_key#48){.+.+ }-{3:3}, en: bch2_fs_file_ioctl+0x232/0xc90 [bcachefs] [ 3437.456009] cuyo bloqueo ya depende del nuevo bloqueo. [ 3437.456553] la cadena de dependencia existente (en orden inverso) es: [ 3437.457054] -> #3 (&type->s_umount_key#48){.+.+}-{3:3}: [ 3437.457507] down_read+0x3e/0x170 [ 3437.457772] bch2_fs_file_ioctl+0x232/0xc90 [bcachefs] [ 3437.458206] __x64_sys_ioctl+0x93/0xd0 [ 3437.458498] do_syscall_64+0x42/0xf0 [ 3437.458 779] Entry_SYSCALL_64_after_hwframe+0x6e/0x76 [3437.459155] -> #2 (&c->snapshot_create_lock){+ +++}-{3:3}: [ 3437.459615] down_read+0x3e/0x170 [ 3437.459878] bch2_truncate+0x82/0x110 [bcachefs] [ 3437.460276] bchfs_truncate+0x254/0x3c0 [bcachefs] [ 3437.4 60686] notificar_cambio+0x1f1/0x4a0 [ 3437.461283] do_truncate+0x7f/0xd0 [ 3437.461555] path_openat+0xa57/0xce0 [ 3437.461836] do_filp_open+0xb4/0x160 [ 3437.462116] do_sys_openat2+0x91/0xc0 [ 34 37.462402] __x64_sys_openat+0x53/0xa0 [ 3437.462701] do_syscall_64+0x42/0xf0 [ 3437.462982] Entry_SYSCALL_64_after_hwframe+0x6e/0x76 [ 3437.463359] -> #1 (&sb->s_type->i_mutex_key#15){+.+.}-{3:3}: [ 3437.463843] down_write+0x3b/0xc0 [ 3437.464223] bch2_write_it e+0x5b /0xcc0 [bcachefs] [ 3437.464493] vfs_write+0x21b/0x4c0 [ 3437.464653] ksys_write+0x69/0xf0 [ 3437.464839] do_syscall_64+0x42/0xf0 [ 3437.465009] entrada_SYSCALL _64_after_hwframe+0x6e/0x76 [ 3437.465231] -> #0 (sb_writers#10){ .+.+}-{0:0}: [ 3437.465471] __lock_acquire+0x1455/0x21b0 [ 3437.465656] lock_acquire+0xc6/0x2b0 [ 3437.465822] mnt_want_write+0x46/0x1a0 [ 3437.465996] nombre de archivo _create+0x62/0x190 [ 3437.466175] ruta_usuario_create+0x2d /0x50 [ 3437.466352] bch2_fs_file_ioctl+0x2ec/0xc90 [bcachefs] [ 3437.466617] __x64_sys_ioctl+0x93/0xd0 [ 3437.466791] do_syscall_64+0x42/0xf0 [ 3437 .466957] Entry_SYSCALL_64_after_hwframe+0x6e/0x76 [ 3437.467180] otra información que podría ayudarnos a depurar esto: [ 3437.469670] 2 bloqueos mantenidos por bcachefs/35533: otra información que podría ayudarnos a depurar esto: [3437.467507] Existe cadena de: sb_writers#10 --> &c->snapshot_create_lock --> &type->s_umount_key#48 [3437.467979] Posiblemente inseguro escenario de bloqueo: [3437.468223] CPU0 CPU1 [3437.468405] ---- ---- [3437.468585] rlock(&type->s_umount_key#48); [ 3437.468758] bloqueo(&c->snapshot_create_lock); [ 3437.469030] bloqueo(&type->s_umount_key#48); [3437.469291] rlock(sb_writers#10); [ 3437.469434] *** INTERBLOQUEO *** [ 3437.469 ---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2023-52638)
    Severidad: MEDIA
    Fecha de publicación: 03/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: can: j1939: previene el interbloqueo cambiando j1939_socks_lock a rwlock Los siguientes 3 bloqueos competirían entre sí, causando la situación de interbloqueo en el informe de error de Syzbot: - j1939_socks_lock - active_session_list_lock - sk_session_queue_lock A Una solución razonable es cambiar j1939_socks_lock por un rwlock, ya que en las raras situaciones en las que se requiere un bloqueo de escritura para la lista vinculada que j1939_socks_lock está protegiendo, el código no intenta adquirir más bloqueos. Esto rompería la dependencia del bloqueo circular, donde, por ejemplo, el subproceso actual ya bloquea j1939_socks_lock e intenta adquirir sk_session_queue_lock y, al mismo tiempo, otro subproceso intenta adquirir j1939_socks_lock mientras mantiene sk_session_queue_lock. NOTA: Este parche no soluciona el error unregister_netdevice informado por Syzbot; en cambio, resuelve una situación de punto muerto para prepararse para uno o más parches adicionales para corregir el error Syzbot, que parece ser un problema de conteo de referencias dentro del código base j1939. [mkl: eliminar cambio de nueva línea no relacionado]
  • Vulnerabilidad en kernel de Linux (CVE-2024-26719)
    Severidad: MEDIA
    Fecha de publicación: 03/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nuevo: descargar valla uevents work to workqueue Esto debería romper el punto muerto entre el bloqueo fctx y el bloqueo irq. Esto descarga el procesamiento del trabajo del irq a una cola de trabajo.
  • Vulnerabilidad en kernel de Linux (CVE-2024-26732)
    Severidad: MEDIA
    Fecha de publicación: 03/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net: implementar lockless setsockopt(SO_PEEK_OFF) syzbot informó una violación de lockdep [1] que involucraba el soporte de SO_PEEK_OFF por parte de af_unix. Dado que SO_PEEK_OFF no es inherentemente seguro para subprocesos (utiliza un campo sk_peek_off por socket), realmente no tiene sentido imponer una seguridad de subprocesos inútil en el kernel. Después de este parche: - setsockopt(SO_PEEK_OFF) ya no adquiere el bloqueo del socket. - skb_consume_udp() ya no tiene que adquirir el bloqueo del socket. - af_unix ya no necesita una versión especial de sk_set_peek_off(), porque ya no bloquea u->iolock. Como seguimiento, podríamos reemplazar prot->set_peek_off para que sea booleano y evitar una llamada indirecta, ya que siempre usamos sk_set_peek_off(). [1] ADVERTENCIA: posible dependencia de bloqueo circular detectada 6.8.0-rc4-syzkaller-00267-g0f1dd5e91e2b #0 No contaminado syz-executor.2/30025 está intentando adquirir el bloqueo: ffff8880765e7d80 (&u->iolock){+.+. }-{3:3}, en: unix_set_peek_off+0x26/0xa0 net/unix/af_unix.c:789 pero la tarea ya mantiene el bloqueo: ffff8880765e7930 (sk_lock-AF_UNIX){+.+.}-{0:0}, en: lock_sock include/net/sock.h:1691 [en línea] ffff8880765e7930 (sk_lock-AF_UNIX){+.+.}-{0:0}, en: sockopt_lock_sock net/core/sock.c:1060 [en línea] ffff8880765e7930 (sk_lock-AF_UNIX){+.+.}-{0:0}, en: sk_setsockopt+0xe52/0x3360 net/core/sock.c:1193 cuyo bloqueo ya depende del nuevo bloqueo. la cadena de dependencia existente (en orden inverso) es: -> #1 (sk_lock-AF_UNIX){+.+.}-{0:0}: lock_acquire+0x1e3/0x530 kernel/locking/lockdep.c:5754 lock_sock_nested+0x48 /0x100 net/core/sock.c:3524 lock_sock include/net/sock.h:1691 [en línea] __unix_dgram_recvmsg+0x1275/0x12c0 net/unix/af_unix.c:2415 sock_recvmsg_nosec+0x18e/0x1d0 net/socket.c:1046 ____sys_recvmsg+0x3c0/0x470 net/socket.c:2801 ___sys_recvmsg net/socket.c:2845 [en línea] do_recvmmsg+0x474/0xae0 net/socket.c:2939 __sys_recvmmsg net/socket.c:3018 [en línea] __do_sy s_recvmmsg red/socket .c:3041 [en línea] __se_sys_recvmmsg net/socket.c:3034 [en línea] __x64_sys_recvmmsg+0x199/0x250 net/socket.c:3034 do_syscall_64+0xf9/0x240 Entry_SYSCALL_64_after_hwframe+0x6f/0x77 -> #0 (&u->iolock) {+.+.}-{3:3}: check_prev_add kernel/locking/lockdep.c:3134 [en línea] check_prevs_add kernel/locking/lockdep.c:3253 [en línea] validar_chain+0x18ca/0x58e0 kernel/locking/lockdep. c:3869 __lock_acquire+0x1345/0x1fd0 kernel/locking/lockdep.c:5137 lock_acquire+0x1e3/0x530 kernel/locking/lockdep.c:5754 __mutex_lock_common kernel/locking/mutex.c:608 [en línea] __mutex_lock+0x136/0xd70 kernel /locking/mutex.c:752 unix_set_peek_off+0x26/0xa0 net/unix/af_unix.c:789 sk_setsockopt+0x207e/0x3360 do_sock_setsockopt+0x2fb/0x720 net/socket.c:2307 __sys_setsockopt+0x1ad/0x250 net/ enchufe.c: 2334 __do_sys_setsockopt net/socket.c:2343 [en línea] __se_sys_setsockopt net/socket.c:2340 [en línea] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340 do_syscall_64+0xf9/0x240 entrada_SYSCALL_6 4_after_hwframe+0x6f/0x77 otra información que podría ayudar depuremos esto: Posible escenario de bloqueo inseguro: CPU0 CPU1 ---- ---- lock(sk_lock-AF_UNIX); bloquear(&u->iolock); bloquear(sk_lock-AF_UNIX); bloquear(&u->iolock); *** DEADLOCK *** 1 bloqueo retenido por syz-executor.2/30025: #0: ffff8880765e7930 (sk_lock-AF_UNIX){+.+.}-{0:0}, en: lock_sock include/net/sock. h:1691 [en línea] #0: ffff8880765e7930 (sk_lock-AF_UNIX){+.+.}-{0:0}, en: sockopt_lock_sock net/core/sock.c:1060 [en línea] #0: ffff8880765e7930 (sk_lock- AF_UNIX){+.+.}-{0:0}, en: sk_setsockopt+0xe52/0x3360 net/core/sock.c:1193 seguimiento de pila: CPU: 0 PID: 30025 Comm: syz-executor.2 No contaminado 6.8 .0-rc4-syzkaller-00267-g0f1dd5e91e2b #0 Nombre del hardware: Google Google C ---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2024-26817)
    Severidad: MEDIA
    Fecha de publicación: 13/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: amdkfd: usa calloc en lugar de kzalloc para evitar el desbordamiento de enteros. Esto usa calloc en lugar de hacer la multiplicación que podría desbordarse.
  • Vulnerabilidad en mlflow/mlflow (CVE-2024-1483)
    Severidad: ALTA
    Fecha de publicación: 16/04/2024
    Fecha de última actualización: 03/02/2025
    Existe una vulnerabilidad de path traversal en mlflow/mlflow versión 2.9.2, que permite a los atacantes acceder a archivos arbitrarios en el servidor. Al crear una serie de solicitudes HTTP POST con parámetros 'artifact_location' y 'source' especialmente manipulados, utilizando un URI local con '#' en lugar de '?', un atacante puede atravesar la estructura de directorios del servidor. El problema se produce debido a una validación insuficiente de la entrada proporcionada por el usuario en los controladores del servidor.
  • Vulnerabilidad en mlflow/mlflow (CVE-2024-1558)
    Severidad: ALTA
    Fecha de publicación: 16/04/2024
    Fecha de última actualización: 03/02/2025
    Existe una vulnerabilidad de path traversal en la función `_create_model_version()` dentro de `server/handlers.py` del repositorio mlflow/mlflow, debido a una validación incorrecta del parámetro `source`. Los atacantes pueden explotar esta vulnerabilidad creando un parámetro `source` que pasa por alto las comprobaciones de la función `_validate_non_local_source_contains_relative_paths(source)`, permitiendo acceso de lectura arbitrario a archivos en el servidor. El problema surge del manejo de caracteres URL sin comillas y el posterior uso indebido del valor "fuente" original para la creación de la versión del modelo, lo que lleva a la exposición de archivos confidenciales al interactuar con el controlador "/model-versions/get-artifact".
  • Vulnerabilidad en mlflow/mlflow (CVE-2024-1560)
    Severidad: ALTA
    Fecha de publicación: 16/04/2024
    Fecha de última actualización: 03/02/2025
    Existe una vulnerabilidad de path traversal en el repositorio mlflow/mlflow, específicamente dentro de la funcionalidad de eliminación de artefactos. Los atacantes pueden eludir la validación de rutas explotando el proceso de doble decodificación en el controlador `_delete_artifact_mlflow_artifacts` y la función `local_file_uri_to_path`, lo que permite la eliminación de directorios arbitrarios en el sistema de archivos del servidor. Esta vulnerabilidad se debe a una operación adicional entre comillas en la función `delete_artifacts` de `local_artifact_repo.py`, que no sanitiza adecuadamente las rutas proporcionadas por el usuario. El problema está presente hasta la versión 2.9.2, a pesar de los intentos de solucionar un problema similar en CVE-2023-6831.
  • Vulnerabilidad en mlflow/mlflow (CVE-2024-1593)
    Severidad: ALTA
    Fecha de publicación: 16/04/2024
    Fecha de última actualización: 03/02/2025
    Existe una vulnerabilidad de path traversal en el repositorio mlflow/mlflow debido a un manejo inadecuado de los parámetros de URL. Al contrabandear secuencias de path traversal utilizando el ';' carácter en las URL, los atacantes pueden manipular la parte 'parámetros' de la URL para obtener acceso no autorizado a archivos o directorios. Esta vulnerabilidad permite el contrabando de datos arbitrarios en la parte 'params' de la URL, lo que permite ataques similares a los descritos en informes anteriores pero utilizando el ';' personaje para el contrabando de parámetros. La explotación exitosa podría conducir a la divulgación de información no autorizada o al compromiso del servidor.
  • Vulnerabilidad en mlflow/mlflow (CVE-2024-1594)
    Severidad: ALTA
    Fecha de publicación: 16/04/2024
    Fecha de última actualización: 03/02/2025
    Existe una vulnerabilidad de path traversal en el repositorio mlflow/mlflow, específicamente en el manejo del parámetro `artifact_location` al crear un experimento. Los atacantes pueden aprovechar esta vulnerabilidad utilizando un componente de fragmento `#` en el URI de ubicación del artefacto para leer archivos arbitrarios en el servidor en el contexto del proceso del servidor. Este problema es similar a CVE-2023-6909 pero utiliza un componente diferente del URI para lograr el mismo efecto.
  • Vulnerabilidad en mlflow/mlflow (CVE-2024-3573)
    Severidad: CRÍTICA
    Fecha de publicación: 16/04/2024
    Fecha de última actualización: 03/02/2025
    mlflow/mlflow es vulnerable a la inclusión de archivos locales (LFI) debido a un análisis inadecuado de los URI, lo que permite a los atacantes eludir las comprobaciones y leer archivos arbitrarios en el sistema. El problema surge de la falla de la función 'is_local_uri' para manejar adecuadamente los URI con esquemas vacíos o de 'archivo', lo que lleva a la clasificación errónea de los URI como no locales. Los atacantes pueden aprovechar esto creando versiones de modelos maliciosos con parámetros de "fuente" especialmente manipulados, lo que permite la lectura de archivos confidenciales dentro de al menos dos niveles de directorio desde la raíz del servidor.
  • Vulnerabilidad en kernel de Linux (CVE-2024-26849)
    Severidad: MEDIA
    Fecha de publicación: 17/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netlink: agregue tipos nla be16/32 a la matriz minlen ERROR: KMSAN: valor uninit en nla_validate_range_unsigned lib/nlattr.c:222 [en línea] ERROR: KMSAN: valor uninit en nla_validate_int_range lib/nlattr.c:336 [en línea] ERROR: KMSAN: valor uninit en validar_nla lib/nlattr.c:575 [en línea] ERROR: KMSAN: valor uninit en __nla_validate_parse+0x2e20/0x45c0 lib/nlattr.c:631 nla_validate_range_unsigned lib/nlattr.c:222 [en línea] nla_validate_int_range lib/nlattr.c:336 [en línea] validar_nla lib/nlattr.c:575 [en línea] ... El mensaje en cuestión coincide con esta política: [NFTA_TARGET_REV] = NLA_POLICY_MAX( NLA_BE32, 255), pero debido a que el tamaño de NLA_BE32 en la matriz minlen es 0, el código de validación leerá más allá del atributo con formato incorrecto (demasiado pequeño). Nota: También faltan otros atributos, por ejemplo, BITFIELD32, SINT, UINT...: probablemente también deberían agregarse.
  • Vulnerabilidad en kernel de Linux (CVE-2024-26917)
    Severidad: MEDIA
    Fecha de publicación: 17/04/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: scsi: Revertir "scsi: fcoe: Reparar posible punto muerto en &fip->ctlr_lock" Esto revierte el commit 1a1975551943f681772720f639ff42fbaa746212. Este commit provoca que se pierdan las interrupciones para los dispositivos FCoE, ya que cambió los bloqueos de sping de "bh" a "irqsave". En su lugar, se debe utilizar una cola de trabajo, que se abordará en un commit separado.
  • Vulnerabilidad en WP Shortcodes Plugin — Shortcodes Ultimate de WordPress (CVE-2024-3548)
    Severidad: MEDIA
    Fecha de publicación: 15/05/2024
    Fecha de última actualización: 03/02/2025
    El complemento WP Shortcodes Plugin — Shortcodes Ultimate de WordPress anterior a 7.1.2 no sanitiza ni escapa un parámetro antes de devolverlo a la página, lo que genera una Cross-Site Scripting Reflejado que podría usarse contra usuarios con altos privilegios, como el administrador.
  • Vulnerabilidad en Mega Elements para WordPress (CVE-2024-4702)
    Severidad: MEDIA
    Fecha de publicación: 15/05/2024
    Fecha de última actualización: 03/02/2025
    El complemento Mega Elements para WordPress es vulnerable a Cross-Site Scripting Almacenado a través del widget Button del complemento en todas las versiones hasta la 1.2.1 incluida, debido a una desinfecció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 mlflow/mlflow (CVE-2024-4263)
    Severidad: MEDIA
    Fecha de publicación: 16/05/2024
    Fecha de última actualización: 03/02/2025
    Existe una vulnerabilidad de control de acceso roto en las versiones mlflow/mlflow anteriores a la 2.10.1, donde los usuarios con privilegios bajos y con solo permisos EDITAR en un experimento pueden eliminar cualquier artefacto. Este problema surge debido a la falta de una validación adecuada para las solicitudes DELETE realizadas por usuarios con permisos EDIT, lo que les permite realizar eliminaciones no autorizadas de artefactos. La vulnerabilidad afecta específicamente el manejo de eliminaciones de artefactos dentro de la aplicación, como lo demuestra la capacidad de un usuario con privilegios bajos de eliminar un directorio dentro de un artefacto mediante una solicitud DELETE, a pesar de que la documentación oficial indica que los usuarios con permiso EDITAR solo pueden leer y actualizar. artefactos, no eliminarlos.
  • Vulnerabilidad en Metagauss EventPrime (CVE-2023-33321)
    Severidad: MEDIA
    Fecha de publicación: 17/05/2024
    Fecha de última actualización: 03/02/2025
    La vulnerabilidad de autorización faltante en Metagauss EventPrime permite explotar niveles de seguridad de control de acceso configurados incorrectamente. Este problema afecta a EventPrime: desde n/a hasta 2.8.6.
  • Vulnerabilidad en Strategy11 Form Builder Team Formidable Forms (CVE-2024-23522)
    Severidad: MEDIA
    Fecha de publicación: 17/05/2024
    Fecha de última actualización: 03/02/2025
    neutralización incorrecta de etiquetas HTML relacionadas con scripts en una vulnerabilidad de página web (XSS básico) en Strategy11 Form Builder Team Formidable Forms permite la inyección de código. Este problema afecta a Formidable Forms: desde n/a hasta 6.7.
  • Vulnerabilidad en Metagauss ProfileGrid (CVE-2024-32774)
    Severidad: MEDIA
    Fecha de publicación: 17/05/2024
    Fecha de última actualización: 03/02/2025
    La vulnerabilidad de restricción incorrecta de intentos de autenticación excesivos en Metagauss ProfileGrid permite eliminar funciones importantes del cliente. Este problema afecta a ProfileGrid: desde n/a hasta 5.8.2.
  • Vulnerabilidad en kernel de Linux (CVE-2024-27433)
    Severidad: ALTA
    Fecha de publicación: 17/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: clk: mediatek: mt7622-apmixedsys: se corrigió una ruta de manejo de errores en clk_mt8135_apmixed_probe() 'clk_data' se asigna con mtk_devm_alloc_clk_data(). Entonces, llamar explícitamente a mtk_free_clk_data() en la función de eliminación conduciría a un double free. Eliminar la llamada redundante.
  • Vulnerabilidad en kernel de Linux (CVE-2024-35827)
    Severidad: MEDIA
    Fecha de publicación: 17/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: io_uring/net: corregida la comprobación de desbordamiento en io_recvmsg_mshot_prep() La variable "controllen" es de tipo size_t (largo sin firmar). Convertirlo a int podría provocar un desbordamiento de números enteros. La función check_add_overflow() considera el tipo de destino que es de tipo int. Si sumamos dos valores positivos y el resultado no cabe en un número entero, entonces se cuenta como un desbordamiento. Sin embargo, si convertimos "controllen" en un int y se vuelve negativo, entonces los valores negativos *pueden* caber en un tipo int para que no haya desbordamiento. Bueno: 100 + (unsigned long)-4 = 96 <-- overflow Malo: 100 + (int)-4 = 96 <-- no overflow También eliminé el cast de sizeof(). Eso no es un error, pero el cast es innecesario.
  • Vulnerabilidad en kernel de Linux (CVE-2024-35849)
    Severidad: ALTA
    Fecha de publicación: 17/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: btrfs: corrige la fuga de información en btrfs_ioctl_logic_to_ino() Syzbot informó la siguiente fuga de información en btrfs_ioctl_logic_to_ino(): ERROR: KMSAN: kernel-infoleak en instrument_copy_to_user include/linux/instrumented.h: 114 [en línea] ERROR: KMSAN: kernel-infoleak en _copy_to_user+0xbc/0x110 lib/usercopy.c:40 instrument_copy_to_user include/linux/instrumented.h:114 [en línea] _copy_to_user+0xbc/0x110 lib/usercopy.c:40 copy_to_user include/linux/uaccess.h:191 [en línea] btrfs_ioctl_logic_to_ino+0x440/0x750 fs/btrfs/ioctl.c:3499 btrfs_ioctl+0x714/0x1260 vfs_ioctl fs/ioctl.c:51 [en línea] __do_sys_ioctl fs/ioctl.c :904 [en línea] __se_sys_ioctl+0x261/0x450 fs/ioctl.c:890 __x64_sys_ioctl+0x96/0xe0 fs/ioctl.c:890 x64_sys_call+0x1883/0x3b50 arch/x86/include/generated/asm/syscalls_64.h: 17 do_syscall_x64 arco/ x86/entry/common.c:52 [en línea] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 Entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit se creó en: __kmalloc_large_node+0x231/0x370 mm/slub.c:3921 __do_kmalloc_node mm/slub.c:3954 [en línea] __kmalloc_node+0xb07/0x1060 mm/slub.c:3973 kmalloc_node include/linux/slab.h:648 [en línea] kvmalloc_node+0xc0/0x2d0 mm/util.c:634 kvmalloc incluye /linux/slab.h:766 [en línea] init_data_container+0x49/0x1e0 fs/btrfs/backref.c:2779 btrfs_ioctl_logic_to_ino+0x17c/0x750 fs/btrfs/ioctl.c:3480 btrfs_ioctl+0x714/0x1260 ctl fs/ioctl.c :51 [en línea] __do_sys_ioctl fs/ioctl.c:904 [en línea] __se_sys_ioctl+0x261/0x450 fs/ioctl.c:890 __x64_sys_ioctl+0x96/0xe0 fs/ioctl.c:890 x64_sys_call+0x1883/0x Arco 3b50/x86/incluye /generated/asm/syscalls_64.h:17 do_syscall_x64 arch/x86/entry/common.c:52 [en línea] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 Entry_SYSCALL_64_after_hwframe+0x77/0x7f Bytes 40-65535 de 65536 no están inicializados El acceso a la memoria de tamaño 65536 comienza en ffff888045a40000. Esto sucede porque estamos copiando una 'estructura btrfs_data_container' nuevamente al espacio de usuario. Este btrfs_data_container se asigna en 'init_data_container()' a través de kvmalloc(), que no llena la memoria con ceros. Solucione este problema usando kvzalloc() que pone a cero la memoria al asignarla.
  • Vulnerabilidad en kernel de Linux (CVE-2024-35885)
    Severidad: MEDIA
    Fecha de publicación: 19/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: mlxbf_gige: detiene la interfaz durante el apagado El controlador mlxbf_gige encuentra intermitentemente una excepción de puntero NULL mientras el sistema se apaga mediante el comando "reboot". El mlxbf_driver experimentará una excepción justo después de ejecutar su método de apagado(). Un ejemplo de esta excepción es: No se puede manejar la desreferencia del puntero NULL del kernel en la dirección virtual 0000000000000070 Información de cancelación de memoria: ESR = 0x0000000096000004 EC = 0x25: DABT (EL actual), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: error de traducción de nivel 0 Información de cancelación de datos: ISV = 0, ISS = 0x00000004 CM = 0, WnR = 0 tabla de páginas de usuario: 4k páginas, VA de 48 bits, pgdp=000000011d373000 [0000000000000070] 000000000000, p4d=0000000000000000 Error interno: Ups: 96000004 [#1] CPU SMP: 0 PID: 13 Comm: ksoftirqd/0 Contaminado: GS OE 5.15.0-bf.6.gef6992a #1 Nombre de hardware: https://www.mellanox .com BlueField SoC/BlueField SoC, BIOS 4.0.2.12669 21 de abril de 2023 pstate: 20400009 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc: mlxbf_gige_handle_tx_complete+0xc8/0x170 [mlxbf_gige] lr: mlxbf_ gige_poll+ 0x54/0x160 [mlxbf_gige] sp: ffff8000080d3c10 x29: ffff8000080d3c10 x28: ffffcce72cbb7000 x27: ffff8000080d3d58 x26: ffff0000814e7340 x25: a05000 x24: ffffcce72c4ea008 x23: ffff0000814e4b40 x22: ffff0000814e4d10 x21: ffff0000814e4128 x20: 0000000000000000 x19: ffff0000814e4a80 ffffffffffffffff x17: 000000000000001c x16: ffffcce72b4553f4 x15: ffff80008805b8a7 x14: 0000000000000000 x13: 0000000000000030 x12: 0101010101010101 x11: 7f7f7f7f7f7f7f7f x10: ac898b17576267 x9: ffffcce720fa5404 x8: ffff000080812138 x7: 0000000000002e9a x6: 00000000000000080 x5: ffff00008de3b000 x4: 00000000000000000 x3: 0000000000000001 x2: 0000000000000000 x1: 0000000000000000 x0: 00000000000000000 Llamada seguimiento: mlxbf_gige_handle_tx_complete+0xc8/0x170 [mlxbf_gige] mlxbf_gige_poll+0x54/0x160 [mlxbf_gige] __napi_poll+0x40/0x1c8 net_rx_action+0x314/0x3a0 __do_softirq+0x128/0x334 _ksoftirqd+0x54/0x6c smpboot_thread_fn+0x14c/0x190 kthread+0x10c/0x110 ret_from_fork+ 0x10/0x20 Código: 8b070000 f9000ea0 f95056c0 f86178a1 (b9407002) ---[ seguimiento final 7cc3941aa0d8e6a4 ]--- Kernel panic - not syncing: Oops: Fatal exception in interrupt Kernel Offset: 0x4ce722520000 de 0xffff 800008000000 PHYS_OFFSET: 0x80000000 Características de la CPU: 0x000005c1,a3330e5a Límite de memoria: ninguno ---[ fin del pánico del kernel - no se sincroniza: Ups: excepción fatal en la interrupción ]--- Durante el apagado del sistema, el apagado() del controlador mlxbf_gige siempre se ejecuta. Sin embargo, el método stop() del controlador solo se ejecutará si la lógica de configuración de la interfaz de red dentro de la distribución de Linux se ha configurado para hacerlo. Si se ejecuta Shutdown() pero stop() no, NAPI permanece habilitada y esto puede provocar una excepción si NAPI se programa mientras la interfaz de hardware solo se ha desinicializado parcialmente. La interfaz de red administrada por el controlador mlxbf_gige debe detenerse correctamente durante el apagado del sistema para que se borre IFF_UP, la interfaz de hardware se ponga en un estado limpio y NAPI se desinicialice por completo.
  • Vulnerabilidad en kernel de Linux (CVE-2024-35904)
    Severidad: MEDIA
    Fecha de publicación: 19/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: selinux: evita la desreferenciación de basura después de un error de montaje En caso de que kern_mount() falle y devuelva un puntero de error en la rama de error en lugar de continuar y desreferenciar el puntero de error. Mientras está en él, suelte la variable estática nunca leída selinuxfs_mount.
  • Vulnerabilidad en kernel de Linux (CVE-2024-35915)
    Severidad: MEDIA
    Fecha de publicación: 19/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: nfc: nci: corrigió el valor uninit en nci_dev_up y nci_ntf_packet syzbot informó el siguiente problema de acceso al valor uninit [1][2]: nci_rx_work() analiza y procesa el paquete recibido. Cuando la longitud del payload es cero, cada controlador de tipo de mensaje lee el payload no inicializado y KMSAN detecta este problema. La recepción de un paquete con un payload de tamaño cero se considera inesperada y, por lo tanto, dichos paquetes deben descartarse silenciosamente. Este parche resolvió este problema verificando el tamaño del payload antes de llamar a los códigos de controlador de cada tipo de mensaje.
  • Vulnerabilidad en kernel de Linux (CVE-2024-36003)
    Severidad: MEDIA
    Fecha de publicación: 20/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ice: corrige la dependencia de bloqueo de LAG y VF en ice_reset_vf() 9f74a3dfcf83 ("ice: corrige las rutas de restablecimiento de VF cuando la interfaz está en un agregado de conmutación por error"), el controlador ice ha adquirido el LAG mutex en ice_reset_vf(). La confirmación colocó esta adquisición de bloqueo justo antes de la adquisición del bloqueo de configuración VF. Si ice_reset_vf() adquiere el bloqueo de configuración a través del indicador ICE_VF_RESET_LOCK, esto podría bloquearse con ice_vc_cfg_qs_msg() porque siempre adquiere los bloqueos en el orden del bloqueo de configuración VF y luego el mutex LAG. Lockdep informa esta infracción casi inmediatamente al crear y luego eliminar 2 VF: ===================================== ================== ADVERTENCIA: posible dependencia de bloqueo circular detectada 6.8.0-rc6 #54 Contaminado: GWO --------------- --------------------------------------- kworker/60:3/6771 está intentando adquirir bloqueo: ff40d43e099380a0 (&vf->cfg_lock){+.+.}-{3:3}, en: ice_reset_vf+0x22f/0x4d0 [ice] pero la tarea ya mantiene el bloqueo: ff40d43ea1961210 (&pf->lag_mutex){+.+ .}-{3:3}, en: ice_reset_vf+0xb7/0x4d0 [ice] cuyo bloqueo ya depende del nuevo bloqueo. la cadena de dependencia existente (en orden inverso) es: -> #1 (&pf->lag_mutex){+.+.}-{3:3}: __lock_acquire+0x4f8/0xb40 lock_acquire+0xd4/0x2d0 __mutex_lock+0x9b/0xbf0 ice_vc_cfg_qs_msg +0x45/0x690 [ice] ice_vc_process_vf_msg+0x4f5/0x870 [ice] __ice_clean_ctrlq+0x2b5/0x600 [ice] ice_service_task+0x2c9/0x480 [ice] Process_one_work+0x1e9/0x4d0 trabajador_thread+0x1e1/0x3d0 leer+0x104/0x140 ret_from_fork+0x31/ 0x50 ret_from_fork_asm+0x1b/0x30 -> #0 (&vf->cfg_lock){+.+.}-{3:3}: check_prev_add+0xe2/0xc50 validar_chain+0x558/0x800 __lock_acquire+0x4f8/0xb40 lock_acquire+0xd4/0x2d0 ex_lock +0x9b/0xbf0 ice_reset_vf+0x22f/0x4d0 [ice] ice_process_vflr_event+0x98/0xd0 [ice] ice_service_task+0x1cc/0x480 [ice] Process_one_work+0x1e9/0x4d0 trabajador_thread+0x1e1/0x3d0 kthread+0x104/0x1 40 ret_from_fork+0x31/0x50 ret_from_fork_asm+ 0x1b/0x30 otra información que podría ayudarnos a depurar esto: Posible escenario de bloqueo inseguro: CPU0 CPU1 ---- ---- lock(&pf->lag_mutex); bloquear(&vf->cfg_lock); bloquear(&pf->lag_mutex); bloquear(&vf->cfg_lock); *** DEADLOCK *** 4 bloqueos retenidos por kworker/60:3/6771: #0: ff40d43e05428b38 ((wq_completion)ice){+.+.}-{0:0}, en: Process_one_work+0x176/0x4d0 # 1: ff50d06e05197e58 ((work_completion)(&pf->serv_task)){+.+.}-{0:0}, en: Process_one_work+0x176/0x4d0 #2: ff40d43ea1960e50 (&pf->vfs.table_lock){+.+ .}-{3:3}, en: ice_process_vflr_event+0x48/0xd0 [ice] #3: ff40d43ea1961210 (&pf->lag_mutex){+.+.}-{3:3}, en: ice_reset_vf+0xb7/0x4d0 [ ice] seguimiento de pila: CPU: 60 PID: 6771 Comm: kworker/60:3 Tainted: GWO 6.8.0-rc6 #54 Nombre de hardware: Cola de trabajo: ice ice_service_task [ice] Seguimiento de llamadas: dump_stack_lvl+0x4a/0x80 check_noncircular +0x12d/0x150 check_prev_add+0xe2/0xc50 ? save_trace+0x59/0x230? add_chain_cache+0x109/0x450 validar_chain+0x558/0x800 __lock_acquire+0x4f8/0xb40? lockdep_hardirqs_on+0x7d/0x100 lock_acquire+0xd4/0x2d0? ice_reset_vf+0x22f/0x4d0 [ice]? lock_is_held_type+0xc7/0x120 __mutex_lock+0x9b/0xbf0 ? ice_reset_vf+0x22f/0x4d0 [ice]? ice_reset_vf+0x22f/0x4d0 [ice]? rcu_is_watching+0x11/0x50? ice_reset_vf+0x22f/0x4d0 [ice] ice_reset_vf+0x22f/0x4d0 [ice] ? Process_one_work+0x176/0x4d0 ice_process_vflr_event+0x98/0xd0 [ice] ice_service_task+0x1cc/0x480 [ice] Process_one_work+0x1e9/0x4d0 trabajador_thread+0x1e1/0x3d0? __pfx_worker_thread+0x10/0x10 kthread+0x104/0x140 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x31/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 Para evitar un punto muerto, debemos adquirir el LAG ---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2022-48706)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: vdpa: ifcvf: realice una limpieza adecuada si falla el inicio de IFCVF. ifcvf_mgmt_dev pierde memoria si no se libera antes de regresar. Se realiza una llamada para corregir la declaración de devolución para que no se pierda memoria. ifcvf_init_hw no se encarga de esto, por lo que es necesario hacerlo aquí.
  • Vulnerabilidad en kernel de Linux (CVE-2023-52780)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: mvneta: corrige llamadas a page_pool_get_stats. Llamar a page_pool_get_stats en el controlador mvneta sin comprobaciones provoca fallos del kernel. Primero, el grupo de páginas solo está disponible si no se utiliza bm. El grupo de páginas tampoco se asigna cuando se detiene el puerto. También se puede no asignar en caso de errores. La implementación actual provoca el siguiente fallo al llamar a ethstats en un puerto que está inactivo o al llamarlo en el momento equivocado: ble para manejar la desreferencia del puntero NULL del kernel en la dirección virtual 00000070 [00000070] *pgd=00000000 Error interno: Ups: 5 [ #1] Nombre del hardware SMP ARM: Marvell Armada 380/385 (árbol de dispositivos) La PC está en page_pool_get_stats+0x18/0x1cc LR está en mvneta_ethtool_get_stats+0xa0/0xe0 [mvneta] pc: [] lr: [] psr: a0000013 sp: f1439d48 ip: f1439dc0 fp: 0000001d r10: 00000100 r9: c4816b80 r8: f0d75150 r7: bf0b400c r6: c238f000 r5: 00000000 : f1439d68 r3 : c2091040 r2 : ffffffd8 r1 : f1439d68 r0 : 00000000 Banderas: NzCv IRQ activadas FIQ en modo SVC_32 ISA ARM Segmento ninguno Control: 10c5387d Tabla: 066b004a DAC: 00000051 Información del registro r0: puntero NULL Información del registro r1: región vmalloc de 2 páginas que comienza en 0xf1438000 asignada en kernel_clone+0x9c/0x390 Información del registro r2: memoria no paginada Registre información de r3: slab kmalloc-2k start c2091000 desplazamiento del puntero 64 tamaño 2048 Registre información de r4: región vmalloc de 2 páginas que comienza en 0xf1438000 asignada en kernel_clone+0x9c/0x390 Registre información de r5: puntero NULL Registre información de r6: slab kmalloc-cg-4k inicio c238f000 desplazamiento del puntero 0 tamaño 4096 Información del registro r7: región vmalloc de 15 páginas que comienza en 0xbf0a8000 asignada en load_module+0xa30/0x219c Información del registro r8: región vmalloc de 1 página que comienza en 0xf0d75000 asignada en ethtool_get_stats+0x138/0x208 Información del registro r9: laboratorio task_struct start c4816b80 desplazamiento del puntero 0 Registrar información r10: memoria no paginada Registrar información r11: memoria no paginada Registrar información r12: región vmalloc de 2 páginas que comienza en 0xf1438000 asignada en kernel_clone+0x9c/0x390 Procesar snmpd (pid: 733, límite de pila = 0x38de3a88) Pila: (0xf1439d48 a 0xf143a000) 9d40: 000000c0 00000001 c238f000 bf0b400c f0d75150 c4816b80 9d60: 00000100 bf0a98d8 000 00000000 00000000 00000000 00000000 00000000 9d80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000 00 9da0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 9dc0: 00000dc0 5335509c 00000035 c238f000 bf0b2214 01067f50 f0d75000 c0b9b9c8 9de0: 0000001d 00000035 c2212094 5335509c c4816b80 0 c5ad6e00 01067f50 9e00: c1b0be80 c4816b80 00014813 c0b9d7f0 00000000 00000000 0000001d 0000001d 9e20: 00000000 00001200 00000000 00000000 c216ed90 c73943b8 00000000 00000000 9e40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 9e6 0: 00000000 c0ad9034 00000000 00000000 00000000 00000000 00000000 00000000 9e80: 00000000 00000000 00000000 5335509c c1b0be80 9ee4 00008946 c1b0be80 9ea0: 01067f50 f1439ee3 00000000 00000046 b6d77ae0 c0b383f0 00008946 becc83e8 9ec0: c1b0be80 00000051 0000000b c68ca48 0 c7172d00 c0ad8ff0 f1439ee3 cf600e40 9ee0: 01600e40 32687465 00000000 00000000 00000000 01067f50 00000000 00000000 9f00: 00000000 5335509c 00008946 00008946 00000000 c68ca480 becc83e8 c05e2de0 9f20: f1439fb0 c03002f0 00000006 5ac3c35a c4816b80 00000006 b6 d77ae0 c030caf0 9f40: c4817350 00000014 f1439e1c 0000000c 00000000 00000051 01000000 00000014 9f60: 00003fec f1439edc 00000001 c0372abc b6d77ae0 c0372abc cf600e40 5335509c 9f80: c21e6800 01015c9c 0000000b 00008946 00000036 c03002f0 c4816b80 00000036 9fa0: b6d77ae0 c03000c0 01015c9c 0000000b 0000000b 00008946 becc83e8 00000000 9fc0: 01015c9c 0000000b 00008946 00000036 00000035 8a0 b6d797ec b6d77ae0 -truncado-
  • Vulnerabilidad en kernel de Linux (CVE-2023-52854)
    Severidad: ALTA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: padata: corrige el manejo de refcnt en padata_free_shell(). En un entorno arm64 de alta carga, la prueba pcrypt_aead01 en LTP puede provocar problemas de UAF (Use-After-Free) del sistema. Debido al extenso análisis de la llamada a la función pcrypt_aead01, describiré el escenario del problema usando un modelo simplificado: supongamos que hay un usuario de padata llamado `user_function` que cumple con el requisito de padata de llamar a `padata_free_shell` después de `serial()`. ha sido invocado, como se demuestra en el siguiente código: ```c struct request { struct padata_priv padata; finalización de la estructura *hecho; }; void paralelo(struct padata_priv *padata) { hacer_algo(); } void serial(struct padata_priv *padata) { solicitud de estructura *request = container_of(padata, solicitud de estructura, padata); completar(solicitud->hecho); } void user_function() { DECLARE_COMPLETION(hecho) padata->parallel = parallel; padata->serial = serial; padata_do_parallel(); wait_for_completion(&hecho); padata_free_shell(); } ``` En el archivo padata.c correspondiente, hay el siguiente código: ```c static void padata_serial_worker(struct work_struct *serial_work) { ... cnt = 0; while (!list_empty(&local_list)) { ... padata->serial(padata); cnt++; } local_bh_enable(); if (refcount_sub_and_test(cnt, &pd->refcnt)) padata_free_pd(pd); } ``` Debido a la alta carga del sistema y la acumulación de software no ejecutado en este momento, `local_bh_enable()` en padata tarda más de lo habitual en ejecutarse. Posteriormente, al acceder a `pd->refcnt`, `pd` ya ha sido liberado por `padata_free_shell()`, lo que genera un problema de UAF con `pd->refcnt`. La solución es sencilla: agregue `refcount_dec_and_test` antes de llamar a `padata_free_pd` en `padata_free_shell`.
  • Vulnerabilidad en kernel de Linux (CVE-2023-52857)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: drm/mediatek: soluciona el problema de cobertura con desbordamiento de enteros involuntario 1. En lugar de multiplicar 2 variables de diferentes tipos. Cambie para asignar un valor a una variable y luego multiplique la otra variable. 2. Agregue una variable int para el cálculo del multiplicador en lugar de calcular diferentes tipos de multiplicadores con la variable dma_addr_t directamente.
  • Vulnerabilidad en kernel de Linux (CVE-2023-52860)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drivers/perf: hisi: use cpuhp_state_remove_instance_nocalls() para el proceso uninit hisi_hns3_pmu. Al derribar una PMU 'hisi_hns3', ejecutamos por error las devoluciones de llamadas de conexión en caliente de la CPU después de que el dispositivo haya sido anulado del registro, lo que lleva a a fuegos artificiales cuando intentamos ejecutar devoluciones de llamadas de funciones vacías dentro del controlador: | No se puede manejar la desreferencia del puntero NULL del kernel en la dirección virtual 0000000000000000 | CPU: 0 PID: 15 Comunicaciones: cpuhp/0 Contaminado: GWO 5.12.0-rc4+ #1 | Nombre del hardware: , BIOS KpxxxFPGA 1P B600 V143 22/04/2021 | pstate: 80400009 (Nzcv daif +PAN -UAO -TCO BTYPE=--) | ordenador personal: perf_pmu_migrate_context+0x98/0x38c | lr: perf_pmu_migrate_context+0x94/0x38c | | Rastreo de llamadas: | perf_pmu_migrate_context+0x98/0x38c | hisi_hns3_pmu_offline_cpu+0x104/0x12c [hisi_hns3_pmu] Utilice cpuhp_state_remove_instance_nocalls() en lugar de cpuhp_state_remove_instance() para que los notificadores no se ejecuten después de que el dispositivo PMU haya sido anulado del registro. [will: reescribirá el mensaje de confirmación]
  • Vulnerabilidad en kernel de Linux (CVE-2023-52879)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: rastreo: Tener trace_event_file tiene contadores de referencia. Lo siguiente puede bloquear el kernel: # cd /sys/kernel/tracing # echo 'p:sched Schedule' > kprobe_events # exec 5>>events /kprobes/sched/enable # > kprobe_events # exec 5>&- Los comandos anteriores: 1. Cambie el directorio al directorio tracefs 2. Cree un evento kprobe (no importa cuál) 3. Abra el descriptor de archivo bash 5 en el habilitar el archivo del evento kprobe 4. Eliminar el evento kprobe (también elimina los archivos) 5. Cerrar el descriptor del archivo bash 5 ¡Lo anterior provoca un bloqueo! BUG: desreferencia del puntero NULL del kernel, dirección: 0000000000000028 #PF: acceso de lectura del supervisor en modo kernel #PF: código_error(0x0000) - página no presente PGD 0 P4D 0 Ups: 0000 [#1] PREEMPT SMP PTI CPU: 6 PID: 877 Comm: bash Not tainted 6.5.0-rc4-test-00008-g2c6b6b1029d4-dirty #186 Nombre del hardware: PC estándar QEMU (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01 /2014 RIP: 0010:tracing_release_file_tr+0xc/0x50. Lo que sucede aquí es que el evento kprobe crea un descriptor de "archivo" trace_event_file que representa el archivo en tracefs hasta el evento. Mantiene el estado del evento (¿está habilitado para la instancia dada?). Al abrir el archivo "habilitar" se obtiene una referencia al descriptor de "archivo" del evento a través del descriptor de archivo abierto. Cuando se elimina el evento kprobe, el archivo también se elimina del sistema tracefs, lo que también libera el descriptor de "archivo" del evento. Pero como el espacio del usuario todavía abre el archivo tracefs, no se eliminará por completo hasta que se llame al dput() final. Pero esto no es cierto con el descriptor de "archivo" de evento que ya está liberado. Si el usuario escribe o simplemente cierra el descriptor de archivo, hará referencia al descriptor de "archivo" del evento que acaba de liberarse, lo que provocará un error de uso después de la liberación. Para resolver esto, agregue un recuento de referencias al descriptor de "archivo" del evento, así como una nueva bandera llamada "FREED". El "archivo" no se liberará hasta que se publique la última referencia. Pero el indicador FREE se establecerá cuando se elimine el evento para evitar que se realicen más modificaciones en ese evento, incluso si todavía hay una referencia al descriptor de "archivo" del evento.
  • Vulnerabilidad en kernel de Linux (CVE-2021-47223)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: bridge: corrige la desreferencia del puntero null del túnel vlan dst Este parche corrige una desreferencia del puntero null de Tunnel_dst debido al acceso sin bloqueo en la ruta de salida del túnel. Al eliminar un túnel VLAN, el puntero Tunnel_dst se establece en NULL sin esperar un período de gracia (es decir, mientras aún se puede utilizar) y los paquetes que salen lo desreferencian sin verificarlo. Use READ/WRITE_ONCE para anotar el uso sin bloqueo de Tunnel_id, use RCU para acceder a Tunnel_dst y asegúrese de que se lea solo una vez y se verifique en la ruta de salida. El dst ya está correctamente protegido por la RCU, por lo que no necesitamos hacer nada sofisticado más que asegurarnos de que Tunnel_id y Tunnel_dst se lean solo una vez y se verifiquen en la ruta de salida.
  • Vulnerabilidad en kernel de Linux (CVE-2021-47394)
    Severidad: ALTA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netfilter: nf_tables: desvincular la tabla antes de eliminarla syzbot informa de lo sigueinte. UAF: BUG: KASAN: use-after-free en memcmp+0x18f/0x1c0 lib/string.c:955 nla_strcmp+ 0xf2/0x130 lib/nlattr.c:836 nft_table_lookup.part.0+0x1a2/0x460 net/netfilter/nf_tables_api.c:570 nft_table_lookup net/netfilter/nf_tables_api.c:4064 [en línea] nf_tables_getset+0x1b3/0x860 net /filtro de red/ nf_tables_api.c:4064 nfnetlink_rcv_msg+0x659/0x13f0 net/netfilter/nfnetlink.c:285 netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2504 El problema es que todas las operaciones de obtención no tienen bloqueo, por lo que el commit_mutex mantenido por () no es suficiente para evitar que una solicitud GET paralela realice accesos de lectura al objeto de la tabla incluso después de sincronizar_rcu(). Para evitar esto, primero desvincule la tabla y almacene los objetos de la tabla en el espacio temporal de la pila.
  • Vulnerabilidad en kernel de Linux (CVE-2021-47405)
    Severidad: MEDIA
    Fecha de publicación: 21/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: HID: usbhid: buffers raw_report libres en usbhid_stop. Libera los buffers raw_report no enviados cuando se elimina el dispositivo. Corrige una pérdida de memoria informada por syzbot en: https://syzkaller.appspot.com/bug?id=7b4fa7cb1a7c2d3342a2a8a6c53371c8c418ab47
  • Vulnerabilidad en kernel de Linux (CVE-2021-47462)
    Severidad: MEDIA
    Fecha de publicación: 22/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: mm/mempolicy: no permitir MPOL_F_NUMA_BALANCING ilegal | MPOL_LOCAL en mbind() syzbot informó acceso a la memoria unificada en mbind() [1] El problema surgió con el commit bda420b98505 ("equilibrio numa: migrar en caso de falla entre múltiples nodos vinculados") Esta confirmación agregó un nuevo bit en MPOL_MODE_FLAGS, pero solo marcó que era válido combinación (MPOL_F_NUMA_BALANCING solo se puede usar con MPOL_BIND) en do_set_mempolicy() Este parche mueve la verificación en sanitize_mpol_flags() para que también sea usado por mbind() [1] ERROR: KMSAN: valor uninit en __mpol_equal+0x567/0x590 mm /mempolicy.c:2260 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 mpol_equal include/linux/mempolicy.h:105 [en línea] vma_merge+0x4a1/0x1e60 mm/mmap.c:1190 mbind_range+0xcc8/0x1e80 mm/ mempolicy.c:811 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333 kernel_mbind mm/mempolicy.c:1483 [en línea] __do_sys_mbind mm/mempolicy.c:1490 [en línea] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c: 1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [en línea] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 Entry_SYSCALL_64_after_hwframe+0 Unidad x44/0xae fue creado en: slab_alloc_node mm/slub.c:3221 [en línea] slab_alloc mm/slub.c:3230 [en línea] kmem_cache_alloc+0x751/0xff0 mm/slub.c:3235 mpol_new mm/mempolicy.c:293 [en línea] do_mbind +0x912/0x15f0 mm/mempolicy.c:1289 kernel_mbind mm/mempolicy.c:1483 [en línea] __do_sys_mbind mm/mempolicy.c:1490 [en línea] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0 x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [en línea] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 Entry_SYSCALL_64_after_hwframe+0x44/0xae ======= =============================================== Pánico del kernel - no sincronización: pánico_on_kmsan set... CPU: 0 PID: 15049 Comm: syz-executor.0 Contaminado: GB 5.15.0-rc2-syzkaller #0 Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/ Seguimiento de llamadas de 2011: __dump_stack lib/dump_stack.c:88 [en línea] dump_stack_lvl+0x1ff/0x28e lib/dump_stack.c:106 dump_stack+0x25/0x28 lib/dump_stack.c:113 pánico+0x44f/0xdeb kernel/panic.c: 232 kmsan_report+0x2ee/0x300 mm/kmsan/report.c:186 __msan_warning+0xd7/0x150 mm/kmsan/instrumentation.c:208 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 mpol_equal include/linux/mempolicy.h: 105 [en línea] vma_merge+0x4a1/0x1e60 mm/mmap.c:1190 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333 kernel_mbind mm/mempolicy.c:1483 [en línea ] __do_sys_mbind mm/mempolicy.c:1490 [en línea] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common. c:51 [en línea ] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 Entry_SYSCALL_64_after_hwframe+0x44/0xae
  • Vulnerabilidad en kernel de Linux (CVE-2024-36903)
    Severidad: MEDIA
    Fecha de publicación: 30/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ipv6: corrige el posible acceso a valores uninit en __ip6_make_skb() Como se hizo en el commit fc1092f51567 ("ipv4: corrige el acceso a valores uninit en __ip_make_skb()") para IPv4, verifique FLOWI_FLAG_KNOWN_NH en fl6->flowi6_flags en lugar de probar HDRINCL en el socket para evitar una condición de ejecución que provoque acceso a valores uninit.
  • Vulnerabilidad en kernel de Linux (CVE-2024-36927)
    Severidad: MEDIA
    Fecha de publicación: 30/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ipv4: corrigió el acceso de valor uninit en __ip_make_skb() KMSAN informó el acceso de valor uninit en __ip_make_skb() [1]. __ip_make_skb() prueba HDRINCL para saber si el skb tiene icmphdr. Sin embargo, HDRINCL puede provocar una condición de ejecución. Si llamar a setsockopt(2) con IP_HDRINCL cambia HDRINCL mientras se ejecuta __ip_make_skb(), la función accederá a icmphdr en el skb incluso si no está incluido. Esto provoca el problema informado por KMSAN. Verifique FLOWI_FLAG_KNOWN_NH en fl4->flowi4_flags en lugar de probar HDRINCL en el socket. Además, fl4->fl4_icmp_type y fl4->fl4_icmp_code no están inicializados. Estas son una unión en la estructura flowi4 y se inicializan implícitamente mediante flowi4_init_output(), pero no debemos confiar en un diseño de unión específico. Inicialícelos explícitamente en raw_sendmsg(). [1] ERROR: KMSAN: valor uninit en __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481 __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481 ip_finish_skb include/net/ip.h:243 [ inline] ip_push_pending_frames+0x4c/0x5c0 net/ipv4/ip_output.c:1508 raw_sendmsg+0x2381/0x2690 net/ipv4/raw.c:654 inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851 net/socket.c : 730 [en línea] __sock_sendmsg+0x274/0x3c0 net/Socket.c: 745 __sys_sendto+0x62c/0x7b0 net/Socket.c: 2191 __do_sys_sendto net/socket.c: 2203 [en línea] __se_sys_sendto net/sows. ] __x64_sys_sendto+0x130/0x200 net/socket.c:2199 do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83 Entry_SYSCALL_64_after_hwframe+0x6d/0x75 Uninit se creó en: slab_post_alloc_hook mm/slub.c :3804 [en línea] slab_alloc_node mm/slub.c:3845 [en línea] kmem_cache_alloc_node+0x5f6/0xc50 mm/slub.c:3888 kmalloc_reserve+0x13c/0x4a0 net/core/skbuff.c:577 __alloc_skb+0x35a/0x7c0 net/core/skbuff.c: 668 alloc_skb include/linux/skbuff.h:1318 [en línea] __ip_append_data+0x49ab/0x68c0 net/ipv4/ip_output.c:1128 ip_append_data+0x1e7/0x260 net/ipv4/ip_output.c:1365 raw_sendmsg+0x22b1/0x2690 net /ipv4 /raw.c:648 inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:730 [en línea] __sock_sendmsg+0x274/0x3c0 net/socket.c:745 __sys_sendto+0x62c/0x7b0 net / socket.c:2191 __do_sys_sendto net/socket.c:2203 [en línea] __se_sys_sendto net/socket.c:2199 [en línea] __x64_sys_sendto+0x130/0x200 net/socket.c:2199 do_syscall_64+0xd8/0x1f0 arch/x86/ent ry/ common.c:83 Entry_SYSCALL_64_after_hwframe+0x6d/0x75 CPU: 1 PID: 15709 Comm: syz-executor.7 Not tainted 6.8.0-11567-gb3603fcb79b1 #25 Nombre de hardware: PC estándar QEMU (i440FX + PIIX, 1996), BIOS 1.16 .3-1.fc39 01/04/2014
  • Vulnerabilidad en kernel de Linux (CVE-2024-36942)
    Severidad: MEDIA
    Fecha de publicación: 30/05/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: Bluetooth: qca: corregir ruta de error de verificación de firmware Una confirmación reciente corrigió el código que analiza los archivos de firmware antes de descargarlos al controlador, pero introdujo una pérdida de memoria en caso de que las comprobaciones de cordura alguna vez fallaran. Asegúrese de liberar el búfer de firmware antes de regresar con errores.
  • Vulnerabilidad en MLflow (CVE-2024-37054)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 0.9.0 o posterior, lo que permite que un modelo PyFunc cargado maliciosamente ejecute código arbitrario en el sistema de un usuario final cuando interactúa con él.
  • Vulnerabilidad en MLflow (CVE-2024-37055)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 1.24.0 o posterior, lo que permite que un modelo pmdarima cargado maliciosamente ejecute código arbitrario en el sistema de un usuario final cuando interactúa con él.
  • Vulnerabilidad en MLflow (CVE-2024-37056)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 1.23.0 o posterior, lo que permite que un modelo scikit-learn de LightGBM cargado maliciosamente ejecute código arbitrario en el sistema de un usuario final cuando interactúa con él.
  • Vulnerabilidad en MLflow (CVE-2024-37057)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 2.0.0rc0 o posterior, lo que permite que un modelo de Tensorflow cargado maliciosamente ejecute código arbitrario en el sistema de un usuario final cuando interactúa con él.
  • Vulnerabilidad en MLflow (CVE-2024-37058)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 2.5.0 o posterior, lo que permite que un modelo Langchain AgentExecutor cargado maliciosamente ejecute código arbitrario en el sistema de un usuario final cuando interactúa con él.
  • Vulnerabilidad en MLflow (CVE-2024-37059)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 0.5.0 o posterior, lo que permite que un modelo de PyTorch cargado maliciosamente ejecute código arbitrario en el sistema de un usuario final cuando interactúa con él.
  • Vulnerabilidad en MLflow (CVE-2024-37060)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La deserialización de datos que no son de confianza puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 1.27.0 o posterior, lo que permite que una receta manipulada con fines malintencionados ejecute código arbitrario en el sistema de un usuario final cuando se ejecuta.
  • Vulnerabilidad en MLflow (CVE-2024-37061)
    Severidad: ALTA
    Fecha de publicación: 04/06/2024
    Fecha de última actualización: 03/02/2025
    La ejecución remota de código puede ocurrir en versiones de la plataforma MLflow que ejecutan la versión 1.11.0 o posterior, lo que permite que un proyecto ML creado con fines malintencionados ejecute código arbitrario en el sistema de un usuario final cuando se ejecuta.
  • Vulnerabilidad en kernel de Linux (CVE-2024-36970)
    Severidad: MEDIA
    Fecha de publicación: 08/06/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: wifi: iwlwifi: use request_module_nowait Esto parece solucionar una regresión de punto muerto que apareció con la combinación de LED en 6.9. El punto muerto ocurre en mi sistema con 24 radios iwlwifi, por lo que tal vez sea algo así como que todos los subprocesos de trabajo están ocupados y algunos trabajos que deben completarse no se pueden completar. [elimine también la var "load_module" innecesaria y el comentario ahora incorrecto]
  • Vulnerabilidad en kernel de Linux (CVE-2024-35247)
    Severidad: MEDIA
    Fecha de publicación: 24/06/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fpga: región: agrega el módulo propietario y toma su recuento. La implementación actual de la región fpga supone que el módulo de bajo nivel registra un controlador para el dispositivo principal y utiliza su puntero de propietario para tomar el recuento del módulo. Este enfoque es problemático ya que puede provocar una desreferencia del puntero nulo al intentar obtener la región durante la programación si el dispositivo principal no tiene un controlador. Para solucionar este problema, agregue un puntero de propietario de módulo a la estructura fpga_region y utilícelo para obtener el recuento del módulo. Modifique las funciones para registrar una región para tomar un parámetro de módulo de propietario adicional y cambiarles el nombre para evitar conflictos. Utilice los nombres de funciones antiguos para las macros auxiliares que configuran automáticamente el módulo que registra la región como propietario. Esto garantiza la compatibilidad con los módulos de control de bajo nivel existentes y reduce las posibilidades de registrar una región sin configurar el propietario. Además, actualice la documentación para que sea coherente con la nueva interfaz para registrar una región fpga.
  • Vulnerabilidad en kernel de Linux (CVE-2024-36479)
    Severidad: MEDIA
    Fecha de publicación: 24/06/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fpga: puente: agrega el módulo propietario y toma su recuento. La implementación actual del puente fpga supone que el módulo de bajo nivel registra un controlador para el dispositivo principal y utiliza su puntero de propietario para tomar el recuento del módulo. Este enfoque es problemático ya que puede provocar una desreferencia del puntero nulo al intentar obtener el puente si el dispositivo principal no tiene un controlador. Para solucionar este problema, agregue un puntero de propietario de módulo a la estructura fpga_bridge y utilícelo para tomar el recuento del módulo. Modifique la función para registrar un puente para tomar un parámetro de módulo propietario adicional y cambiarle el nombre para evitar conflictos. Utilice el nombre de función anterior para una macro auxiliar que configura automáticamente el módulo que registra el puente como propietario. Esto garantiza la compatibilidad con los módulos de control de bajo nivel existentes y reduce las posibilidades de registrar un puente sin configurar el propietario. Además, actualice la documentación para que sea coherente con la nueva interfaz para registrar un puente fpga. Otros cambios: mueva de manera oportunista put_device() de __fpga_bridge_get() a fpga_bridge_get() y of_fpga_bridge_get() para mejorar la claridad del código ya que el dispositivo puente se toma en estas funciones.
  • Vulnerabilidad en kernel de Linux (CVE-2024-37021)
    Severidad: MEDIA
    Fecha de publicación: 24/06/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fpga: manager: agrega el módulo propietario y toma su recuento. La implementación actual del administrador fpga supone que el módulo de bajo nivel registra un controlador para el dispositivo principal y usa su puntero de propietario para tomar el recuento del módulo. Este enfoque es problemático ya que puede provocar una desreferencia del puntero nulo al intentar obtener el administrador si el dispositivo principal no tiene un controlador. Para solucionar este problema, agregue un puntero de propietario de módulo a la estructura fpga_manager y utilícelo para tomar el recuento del módulo. Modifique las funciones para registrar el administrador para tomar un parámetro de módulo de propietario adicional y cambiarles el nombre para evitar conflictos. Utilice los nombres de funciones antiguos para las macros auxiliares que configuran automáticamente el módulo que registra al administrador como propietario. Esto garantiza la compatibilidad con los módulos de control de bajo nivel existentes y reduce las posibilidades de registrar un administrador sin configurar el propietario. Además, actualice la documentación para que sea coherente con la nueva interfaz para registrar un administrador fpga. Otros cambios: mueva de manera oportunista put_device() de __fpga_mgr_get() a fpga_mgr_get() y of_fpga_mgr_get() para mejorar la claridad del código ya que el dispositivo administrador se toma en estas funciones.
  • Vulnerabilidad en Dell PowerProtect DD (CVE-2024-28973)
    Severidad: MEDIA
    Fecha de publicación: 26/06/2024
    Fecha de última actualización: 03/02/2025
    Dell PowerProtect DD, versiones anteriores a 8.0, LTS 7.13.1.0, LTS 7.10.1.30, LTS 7.7.5.40 contienen una vulnerabilidad de Cross-Site Scripting Almacenado. Un atacante remoto con altos privilegios podría explotar esta vulnerabilidad, lo que llevaría al almacenamiento de códigos HTML o JavaScript maliciosos en un almacén de datos de aplicaciones confiable. Cuando un usuario víctima con altos privilegios accede al almacén de datos a través de sus navegadores, el navegador web ejecuta el código malicioso en el contexto de la aplicación web vulnerable. La explotación puede dar lugar a la divulgación de información, el robo de sesiones o la falsificación de solicitudes por parte del cliente.
  • Vulnerabilidad en Dell PowerProtect DD (CVE-2024-29173)
    Severidad: MEDIA
    Fecha de publicación: 26/06/2024
    Fecha de última actualización: 03/02/2025
    Dell PowerProtect DD, versiones anteriores a 8.0, LTS 7.13.1.0, LTS 7.10.1.30, LTS 7.7.5.40 contienen una vulnerabilidad de Server Side Request Forgery (SSRF). Un atacante remoto con altos privilegios podría explotar esta vulnerabilidad, lo que llevaría a la divulgación de información sobre la aplicación o el cliente remoto.
  • Vulnerabilidad en Microsoft Corporation (CVE-2024-35260)
    Severidad: ALTA
    Fecha de publicación: 27/06/2024
    Fecha de última actualización: 03/02/2025
    Vulnerabilidad de ejecución remota de código de Microsoft Dataverse
  • Vulnerabilidad en Dell Key Trust Platform (CVE-2024-37137)
    Severidad: BAJA
    Fecha de publicación: 28/06/2024
    Fecha de última actualización: 03/02/2025
    Dell Key Trust Platform, v3.0.6 y anteriores, contiene el uso de una primitiva criptográfica con una vulnerabilidad de implementación riesgosa. Un atacante local con privilegios podría explotar esta vulnerabilidad, lo que llevaría a la divulgación de información privilegiada.
  • Vulnerabilidad en iDRAC9 (CVE-2024-25943)
    Severidad: ALTA
    Fecha de publicación: 29/06/2024
    Fecha de última actualización: 03/02/2025
    iDRAC9, versiones anteriores a 7.00.00.172 para la 14.ª generación y 7.10.50.00 para las 15.ª y 16.ª generación, contiene una vulnerabilidad de secuestro de sesión en IPMI. Un atacante remoto podría explotar esta vulnerabilidad, lo que provocaría la ejecución de código arbitrario en la aplicación vulnerable.
  • Vulnerabilidad en BLE (CVE-2024-3332)
    Severidad: MEDIA
    Fecha de publicación: 03/07/2024
    Fecha de última actualización: 03/02/2025
    Un dispositivo BLE malicioso puede enviar un orden específico de secuencia de paquetes para provocar un ataque DoS en el dispositivo BLE víctima
  • Vulnerabilidad en UltraAddons – Elementor Addons (Header Footer Builder, Custom Font, Custom CSS, Woo Widget, Menu Builder, Anywhere Elementor Shortcode) para WordPress (CVE-2024-4866)
    Severidad: MEDIA
    Fecha de publicación: 10/07/2024
    Fecha de última actualización: 03/02/2025
    El complemento UltraAddons – Elementor Addons (Header Footer Builder, Custom Font, Custom CSS, Woo Widget, Menu Builder, Anywhere Elementor Shortcode) para WordPress es vulnerable a Cross Site Scripting almacenado a través de múltiples widgets en todas las versiones hasta la 1.1 incluida. .6 debido a una sanitización de la entrada y escape de salida insuficientes 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 páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada.
  • Vulnerabilidad en kernel de Linux (CVE-2024-40919)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bnxt_en: Ajusta el registro de mensajes de firmware en caso de token liberado en __hwrm_send() En caso de que el token se libere debido al token->estado == BNXT_HWRM_DEFERRED, token liberado (establecido en NULL ) se utiliza en mensajes de registro. Se espera que este problema se evite mediante el código de error HWRM_ERR_CODE_PF_UNAVAILABLE. Pero este código de error lo devuelve un firmware reciente. Por lo tanto, es posible que algunos firmware no lo devuelvan. Esto puede provocar una desreferencia del puntero NULL. Ajuste este problema agregando una verificación del puntero del token. Encontrado por el Centro de verificación de Linux (linuxtesting.org) con SVACE.
  • Vulnerabilidad en kernel de Linux (CVE-2024-40928)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: ethtool: corrige la condición de error en ethtool_get_phy_stats_ethtool() Advertencia del verificador estático de Clang (scan-build): net/ethtool/ioctl.c:line 2233, column 2 Puntero de función llamada es nulo (desreferencia nula). Devuelva '-EOPNOTSUPP' cuando 'ops->get_ethtool_phy_stats' sea NULL para corregir este error tipográfico.
  • Vulnerabilidad en kernel de Linux (CVE-2024-40933)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: iio: temperatura: mlx90635: corrige la desreferencia de ERR_PTR en mlx90635_probe() Cuando falla devm_regmap_init_i2c(), regmap_ee podría ser un puntero de error, en lugar de verificar IS_ERR(regmap_ee), se verifica regmap, que Parece un error de copiar y pegar.
  • Vulnerabilidad en kernel de Linux (CVE-2024-40936)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: cxl/region: solucione las fugas de memregion en devm_cxl_add_region() Mueva el modo de verificación a __create_region() antes de asignar la memregion para evitar las fugas de memregion.
  • Vulnerabilidad en kernel de Linux (CVE-2024-40945)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: iommu: Devuelve el valor correcto en iommu_sva_bind_device() iommu_sva_bind_device() debería devolver un identificador de enlace sva o un valor ERR_PTR en casos de error. Los controladores existentes (idxd y uacce) solo verifican el valor de retorno con IS_ERR(). Esto podría provocar un problema de desreferencia del puntero NULL del kernel si la función devuelve NULL en lugar de un puntero de error. En realidad, esto no causa ningún problema porque iommu_sva_bind_device() solo devuelve NULL cuando el kernel no está configurado con CONFIG_IOMMU_SVA. En este caso, iommu_dev_enable_feature(dev, IOMMU_DEV_FEAT_SVA) devolverá un error y los controladores del dispositivo no llamarán a iommu_sva_bind_device() en absoluto.
  • Vulnerabilidad en kernel de Linux (CVE-2024-40947)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ima: Evite el bloqueo en la sección crítica del lado de lectura de RCU Ocurre un pánico en ima_match_policy: ERROR: no se puede manejar la desreferencia del puntero NULL del kernel en 00000000000000010 PGD 42f873067 P4D 0 Ups: 0000 [#1 ] SMP NOPTI CPU: 5 PID: 1286325 Comm: kubeletmonit.sh Kdump: cargado Contaminado: P Nombre del hardware: QEMU PC estándar (i440FX + PIIX, 1996), BIOS 0.0.0 06/02/2015 RIP: 0010:ima_match_policy+0x84 /0x450 Código: 49 89 fc 41 89 cf 31 ed 89 44 24 14 eb 1c 44 39 7b 18 74 26 41 83 ff 05 74 20 48 8b 1b 48 3b 1d f2 b9 f4 00 0f 84 9c 01 00 <44> 85 73 10 74 ea 44 8b 6b 14 41 f6 c5 01 75 d4 41 f6 c5 02 74 0f RSP: 0018:ff71570009e07a80 EFLAGS: 00010207 RAX: 0000000000000000 RBX: 0000000000 RCX: 0000000000000200 RDX: ffffffffad8dc7c0 RSI: 0000000024924925 RDI: ff3e27850dea2000 RBP: 0000000000000000 R08 : 0000000000000000 R09: ffffffffabfce739 R10: ff3e27810cc42400 R11: 0000000000000000 R12: ff3e2781825ef970 R13: 00000000ff3e2785 R14: 000000000c R15: 0000000000000001 FS: 00007f5195b51740(0000) GS:ff3e278b12d40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: : 0000000080050033 CR2: 0000000000000010 CR3: 0000000626d24002 CR4: 0000000000361ee0 DR0: 0000000000000000 DR1: 00000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Seguimiento de llamadas: ima_get_action+0x22/0x30 Process_measurement+0xb0/0x830 ? page_add_file_rmap+0x15/0x170? alloc_set_pte+0x269/0x4c0? prep_new_page+0x81/0x140? simple_xattr_get+0x75/0xa0? selinux_file_open+0x9d/0xf0 ima_file_check+0x64/0x90 path_openat+0x571/0x1720 do_filp_open+0x9b/0x110 ? page_counter_try_charge+0x57/0xc0? files_cgroup_alloc_fd+0x38/0x60? __alloc_fd+0xd4/0x250? do_sys_open+0x1bd/0x250 do_sys_open+0x1bd/0x250 do_syscall_64+0x5d/0x1d0 Entry_SYSCALL_64_after_hwframe+0x65/0xca Commit c7423dbdbc9e ("ima: Handle -ESTALE devuelto por ima_filter_rule_match()") introdujo la llamada a ima_lsm _copy_rule dentro de una sección crítica del lado de lectura de RCU que contiene kmalloc con GFP_KERNEL. Esto implica una posible suspensión y viola las limitaciones de las secciones críticas del lado de lectura de RCU en sistemas que no son PREEMPT. Dormir dentro de la sección crítica del lado de lectura de la RCU puede provocar que sincronizar_rcu() regrese antes de tiempo y rompa la protección de la RCU, lo que permite que se produzca una UAF. La causa raíz de este problema podría describirse de la siguiente manera: | Hilo A | Hilo B | | |ima_match_policy | | | rcu_read_lock | |ima_lsm_update_rule | | | sincronizar_rcu | | | | kmalloc(GFP_KERNEL)| | | dormir | ==> sincronizar_rcu regresa temprano | kfree(entrada) | | | | entrada = entrada->siguiente| ==> Sucede UAF y la entrada ahora se vuelve NULL (o podría ser cualquier cosa). | | entrada->acción | ==> Acceder a la entrada puede causar pánico. Para solucionar este problema, estamos convirtiendo todos los kmalloc que se llaman dentro de la sección crítica del lado de lectura de RCU para usar GFP_ATOMIC. [PM: comentario faltante corregido, líneas largas, caso !CONFIG_IMA_LSM_RULES]
  • Vulnerabilidad en kernel de Linux (CVE-2024-40972)
    Severidad: MEDIA
    Fecha de publicación: 12/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ext4: no crear inodo EA bajo bloqueo de búfer ext4_xattr_set_entry() crea nuevos inodos EA mientras mantiene el bloqueo de búfer en el bloque xattr externo. Esto es problemático ya que anida todo el bloqueo de asignación (que adquiere bloqueos en otros búfer) bajo el bloqueo del búfer. Esto puede incluso bloquearse cuando el sistema de archivos está dañado y, por ejemplo, el archivo de cuota está configurado para contener el bloque xattr como bloque de datos. Mueva la asignación del inodo EA de ext4_xattr_set_entry() a las personas que llaman.
  • Vulnerabilidad en kernel de Linux (CVE-2022-48784)
    Severidad: MEDIA
    Fecha de publicación: 16/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: cfg80211: corrige la ejecución en la destrucción de la interfaz del propietario de netlink. Mi solución anterior aquí para arreglar el punto muerto dejó una ejecución donde exactamente el mismo punto muerto (consulte la confirmación original a la que se hace referencia a continuación) aún puede ocurrir si cfg80211_destroy_ifaces () ya se ejecuta mientras nl80211_netlink_notify() todavía marca algunas interfaces como nl_owner_dead. La ejecución ocurre porque tenemos dos bucles aquí: primero dev_close() todos los netdevs y luego los destruimos. Si también tenemos dos netdevs (aunque el primero solo necesita ser un wdev), entonces podemos encontrar uno durante la primera iteración, cerrarlo e ir a la segunda iteración, pero luego encontrar dos e intentar destruir también el que tenemos. Aún no ha cerrado. Solucione este problema iterando solo una vez.
  • Vulnerabilidad en Magical Addons For Elementor (CVE-2024-38681)
    Severidad: MEDIA
    Fecha de publicación: 20/07/2024
    Fecha de última actualización: 03/02/2025
    Vulnerabilidad de neutralización incorrecta de la entrada durante la generación de páginas web (XSS o 'Cross-site Scripting') en Noor alam Magical Addons For Elementor permite XSS almacenado. Este problema afecta a Magical Addons For Elementor: desde n/a hasta 1.1.41.
  • Vulnerabilidad en Master Addons para Elementor (CVE-2024-38710)
    Severidad: MEDIA
    Fecha de publicación: 20/07/2024
    Fecha de última actualización: 03/02/2025
    Vulnerabilidad de neutralización incorrecta de la entrada durante la generación de páginas web (XSS o 'Cross-site Scripting') en Jewel Theme Master Addons para Elementor permite XSS almacenado. Este problema afecta a Master Addons para Elementor: desde n/a hasta 2.0.6.2.
  • Vulnerabilidad en Link Library (CVE-2024-38711)
    Severidad: ALTA
    Fecha de publicación: 20/07/2024
    Fecha de última actualización: 03/02/2025
    Vulnerabilidad de neutralización incorrecta de la entrada durante la generación de páginas web (XSS o 'Cross-site Scripting') en Yannick Lefebvre Link Library permite XSS reflejado. Este problema afecta a Link Library desde n/a hasta 7.7.1.
  • Vulnerabilidad en Premium Addons for Elementor (CVE-2024-37922)
    Severidad: MEDIA
    Fecha de publicación: 20/07/2024
    Fecha de última actualización: 03/02/2025
    Vulnerabilidad de neutralización incorrecta de la entrada durante la generación de páginas web (XSS o 'Cross-site Scripting') en Leap13 Premium Addons para Elementor permite XSS almacenado. Este problema afecta a Premium Addons for Elementor: desde n/a hasta 4.10.34.
  • Vulnerabilidad en Tutor LMS (CVE-2024-37947)
    Severidad: MEDIA
    Fecha de publicación: 20/07/2024
    Fecha de última actualización: 03/02/2025
    Vulnerabilidad de neutralización incorrecta de la entrada durante la generación de páginas web (XSS o 'Cross-site Scripting') en Themeum Tutor LMS permite XSS almacenado. Este problema afecta a Tutor LMS: desde n/a hasta 2.7.2.
  • Vulnerabilidad en Ampache (CVE-2024-41665)
    Severidad: MEDIA
    Fecha de publicación: 23/07/2024
    Fecha de última actualización: 03/02/2025
    Ampache, una aplicación de transmisión de audio/vídeo y administrador de archivos basada en web, tiene una vulnerabilidad de Cross Site Scripting (XSS) almacenadas en versiones anteriores a la 6.6.0. Esta vulnerabilidad existe en la función "Playlists - Democratic - Configure Democratic Playlist". Un atacante con permisos de Administrador de contenido puede establecer el campo Name en ``. Cuando cualquier administrador o usuario acceda a la funcionalidad Democratic, se verá afectado por esta vulnerabilidad de XSS almacenado. El atacante puede aprovechar esta vulnerabilidad para obtener las cookies de cualquier usuario o administrador que acceda al archivo `democratic.php`. La versión 6.6.0 contiene un parche para el problema.
  • Vulnerabilidad en kernel de Linux (CVE-2024-41025)
    Severidad: MEDIA
    Fecha de publicación: 29/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: misc: fastrpc: corrige la pérdida de memoria en la operación de conexión del daemon de audio. El daemon PD de audio envía el nombre como parte de la llamada init IOCTL. Este nombre debe copiarse en el kernel para el que se asigna la memoria. Esta memoria nunca se libera, lo que podría provocar una pérdida de memoria. Libera la memoria cuando no sea necesaria.
  • Vulnerabilidad en kernel de Linux (CVE-2024-41048)
    Severidad: MEDIA
    Fecha de publicación: 29/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: skmsg: omitir skb de longitud cero en sk_msg_recvmsg Al ejecutar autopruebas de BPF (./test_progs -t sockmap_basic) en una plataforma Loongarch, se produce el siguiente pánico del kernel: [...] Ups[ #1]: CPU: 22 PID: 2824 Comm: test_progs Contaminado: G OE 6.10.0-rc2+ #18 Nombre del hardware: LOONGSON Dabieshan/Loongson-TC542F0, BIOS Loongson-UDK2018 ... ... ra: 90000000048bf6c0 sk_msg_recvmsg+0x120 /0x560 ERA: 9000000004162774 copy_page_to_iter+0x74/0x1c0 CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE) PRMD: 0000000c (PPLV0 +PIE +PWE) EUEN: 00000007 (+FPE +SXE +ASXE -BTE) ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7) ESTAT: 00010000 [PIL] (IS= ECode=1 EssubCode=0) BADV: 00000000000000040 PRID: 0014c011 (Loongson-64bit, Loongson -3C5000) Módulos vinculados en: bpf_testmod(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack Procesar test_progs (pid: 2824, threadinfo=0000000000863a31, task=...) Pila: ... Seguimiento de llamadas: [<9000000004162774>] 1c0 [ <90000000048bf6c0>] sk_msg_recvmsg+0x120/0x560 [<90000000049f2b90>] tcp_bpf_recvmsg_parser+0x170/0x4e0 [<90000000049aae34>] 0x54/0x100 [<900000000481ad5c>] sock_recvmsg+0x7c/0xe0 [<900000000481e1a8>] __sys_recvfrom+0x108/0x1c0 [ <900000000481e27c>] sys_recvfrom+0x1c/0x40 [<9000000004c076ec>] do_syscall+0x8c/0xc0 [<9000000003731da4>] handle_syscall+0xc4/0x160 Código: ... ---[ end trace 0000000 000000000 ]--- Pánico del kernel: no se sincroniza : Excepción fatal Kernel reubicado por 0x3510000 .text @ 0x9000000003710000 .data @ 0x9000000004d70000 .bss @ 0x9000000006469400 ---[ fin del pánico del kernel - no se sincroniza: excepción fatal ]--- [...] Este bloqueo ocurre cada vez que se ejecuta sockmap_ subprueba skb_verdict_shutdown en sockmap_basic. Este bloqueo se debe a que se pasa un puntero NULL a page_address() en sk_msg_recvmsg(). Debido a las diferentes implementaciones según la arquitectura, page_address(NULL) provocará un pánico en la plataforma Loongarch pero no en la plataforma x86. Entonces, este error estuvo oculto en la plataforma x86 por un tiempo, pero ahora está expuesto en la plataforma Loongarch. La causa principal es que se colocó en la cola un skb de longitud cero (skb->len == 0). Este skb de longitud cero es un paquete TCP FIN, que fue enviado por apagado(), invocado en test_sockmap_skb_verdict_shutdown(): apagado(p1, SHUT_WR); En este caso, en sk_psock_skb_ingress_enqueue(), num_sge es cero y no se coloca ninguna página en este sge (consulte sg_set_page en sg_set_page), pero este sge vacío se pone en cola en la lista ingress_msg. Y en sk_msg_recvmsg(), se usa este sge vacío, y sg_page(sge) obtiene una página NULL. Pase esta página NULL a copy_page_to_iter(), que la pasa a kmap_local_page() y a page_address(), luego el kernel entra en pánico. Para resolver esto, debemos omitir este skb de longitud cero. Entonces, en sk_msg_recvmsg(), si la copia es cero, eso significa que es un skb de longitud cero, omita la invocación de copy_page_to_iter(). Estamos utilizando el retorno EFAULT activado por copy_page_to_iter para verificar is_fin en tcp_bpf.c.
  • Vulnerabilidad en kernel de Linux (CVE-2024-41077)
    Severidad: MEDIA
    Fecha de publicación: 29/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: null_blk: corrige la validación del tamaño del bloque. El tamaño del bloque debe estar entre 512 y PAGE_SIZE y ser una potencia de 2. La verificación actual no valida esto, así que actualice la verificación. Sin este parche, null_blk tendría un error debido a la eliminación del puntero nulo cuando se carga con bs=1536 [1]. [axboe: elimine las llaves innecesarias y la comprobación != 0]
  • Vulnerabilidad en kernel de Linux (CVE-2024-42089)
    Severidad: MEDIA
    Fecha de publicación: 29/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: fsl-asoc-card: establezca priv->pdev antes de usarlo. El puntero priv->pdev se configuró después de usarse en fsl_asoc_card_audmux_init(). Mueva esta asignación al inicio de la función de sonda, para que las subfunciones puedan usar correctamente pdev a través de priv. fsl_asoc_card_audmux_init() elimina la referencia a priv->pdev para obtener acceso a la estructura dev, utilizada con las macros dev_err. Como priv está inicializado en cero, habría una desreferencia del puntero NULL. Tenga en cuenta que si se elimina la referencia a priv->dev antes de la asignación pero nunca se usa, por ejemplo, si no hay ningún error que imprimir, el controlador nofallará probablemente debido a las optimizaciones del compilador.
  • Vulnerabilidad en kernel de Linux (CVE-2024-42106)
    Severidad: MEDIA
    Fecha de publicación: 30/07/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: inet_diag: inicializa el campo pad en la estructura inet_diag_req_v2 KMSAN informó acceso de valor uninit en raw_lookup() [1]. Diag para sockets sin formato utiliza el campo pad en struct inet_diag_req_v2 para el protocolo subyacente. Este campo corresponde al campo sdiag_raw_protocol en la estructura inet_diag_req_raw. inet_diag_get_exact_compat() convierte inet_diag_req en inet_diag_req_v2, pero deja el campo pad sin inicializar. Entonces el problema ocurre cuando raw_lookup() accede al campo sdiag_raw_protocol. Solucione este problema inicializando el campo pad en inet_diag_get_exact_compat(). Además, haga la misma corrección en inet_diag_dump_compat() para evitar problemas similares en el futuro. [1] ERROR: KMSAN: valor uninit en raw_lookup net/ipv4/raw_diag.c:49 [en línea] ERROR: KMSAN: valor uninit en raw_sock_get+0x657/0x800 net/ipv4/raw_diag.c:71 raw_lookup net/ipv4 /raw_diag.c:49 [en línea] raw_sock_get+0x657/0x800 net/ipv4/raw_diag.c:71 raw_diag_dump_one+0xa1/0x660 net/ipv4/raw_diag.c:99 inet_diag_cmd_exact+0x7d9/0x980 inet_diag_get_exact_compat net/ipv4/ inet_diag.c :1404 [en línea] inet_diag_rcv_msg_compat+0x469/0x530 net/ipv4/inet_diag.c:1426 sock_diag_rcv_msg+0x23d/0x740 net/core/sock_diag.c:282 netlink_rcv_skb+0x537/0x670. c:2564 sock_diag_rcv+0x35 /0x40 net/core/sock_diag.c:297 netlink_unicast_kernel net/netlink/af_netlink.c:1335 [en línea] netlink_unicast+0xe74/0x1240 net/netlink/af_netlink.c:1361 netlink_sendmsg+0x10c6/0x1260 net/netlink/af_netlink.c :1905 sock_sendmsg_nosec net/socket.c:730 [en línea] __sock_sendmsg+0x332/0x3d0 net/socket.c:745 ____sys_sendmsg+0x7f0/0xb70 net/socket.c:2585 ___sys_sendmsg+0x271/0x3b0 net/socket. c:2639 __sys_sendmsg net/socket.c:2668 [en línea] __do_sys_sendmsg net/socket.c:2677 [en línea] __se_sys_sendmsg net/socket.c:2675 [en línea] __x64_sys_sendmsg+0x27e/0x4a0 net/socket.c:2675 x64_sys_call+0x13 5e/0x3ce0 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/common.c:52 [en línea] do_syscall_64+0xd9/0x1e0 arch/x86/entry/common.c:83 Entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit se almacenó en la memoria en: raw_sock_get+0x650/0x800 net/ipv4/raw_diag.c:71 raw_diag_dump_one+0xa1/0x660 net/ipv4/raw_diag.c:99 inet_diag_cmd_exact+0x7d9/0x980 inet_diag_get_exact_compat net/ipv4/inet_diag .c:1404 [en línea] inet_diag_rcv_msg_compat+0x469/0x530 net/ipv4/inet_diag.c:1426 sock_diag_rcv_msg+0x23d/0x740 net/core/sock_diag.c:282 netlink_rcv_skb+0x537/0x670 net/netlink/af_netlink.c:256 4 calcetín_diag_rcv+0x35/0x40 net/core/sock_diag.c:297 netlink_unicast_kernel net/netlink/af_netlink.c:1335 [en línea] netlink_unicast+0xe74/0x1240 net/netlink/af_netlink.c:1361 netlink_sendmsg+0x10c6/0x1260 net/netlink/af_netlink.c:1905 sock_sendmsg_nosec net/socket.c:730 [en línea] __sock_sendmsg+0x332/0x3d0 net/socket.c:745 ____sys_sendmsg+0x7f0/0xb70 net/socket.c:2585 ___sys_sendmsg+0x271/0x3b0 net/socket.c:263 9 __sys_sendmsg neto/ socket.c:2668 [en línea] __do_sys_sendmsg net/socket.c:2677 [en línea] __se_sys_sendmsg net/socket.c:2675 [en línea] __x64_sys_sendmsg+0x27e/0x4a0 net/socket.c:2675 x64_sys_call+0x135e/ 0x3ce0 arch/x86 /include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/common.c:52 [en línea] do_syscall_64+0xd9/0x1e0 arch/x86/entry/common.c:83 Entry_SYSCALL_64_after_hwframe+0x77/0x7f Variable local req.i creado en: inet_diag_get_exact_compat net/ipv4/inet_diag.c:1396 [en línea] inet_diag_rcv_msg_compat+0x2a6/0x530 net/ipv4/inet_diag.c:1426 sock_diag_rcv_msg+0x23d/0x740 net/core/sock_diag.c: 282 procesadores: 1 PID: 8888 Comm: syz-executor.6 No contaminado 6.10.0-rc4-00217-g35bb670d65fc #32 Nombre del hardware: PC estándar QEMU (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 01/04/2014
  • Vulnerabilidad en kernel de Linux (CVE-2024-43815)
    Severidad: ALTA
    Fecha de publicación: 17/08/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: crypto: mxs-dcp: asegúrese de que el payload sea cero cuando se usa la ranura de clave. Podríamos perder memoria de pila a través del campo de payload cuando ejecutamos AES con una clave de una de las ranuras de clave del hardware. Solucione este problema asegurándose de que el campo de payload esté establecido en 0 en tales casos. Esto no afecta el caso de uso común cuando la clave se suministra desde la memoria principal a través de el payload del descriptor.
  • Vulnerabilidad en MLflow (CVE-2024-27134)
    Severidad: ALTA
    Fecha de publicación: 25/11/2024
    Fecha de última actualización: 03/02/2025
    Los permisos de directorio excesivos en MLflow provocan una escalada de privilegios locales cuando se utiliza spark_udf. Un atacante local puede aprovechar este comportamiento para obtener permisos elevados mediante un ataque ToCToU. El problema solo es relevante cuando se llama a la API spark_udf() de MLflow.
  • Vulnerabilidad en Dell NetWorker Management Console (CVE-2024-47476)
    Severidad: ALTA
    Fecha de publicación: 03/12/2024
    Fecha de última actualización: 03/02/2025
    Dell NetWorker Management Console, versión 19.11, contiene una vulnerabilidad de verificación incorrecta de la firma criptográfica. Un atacante no autenticado con acceso local podría aprovechar esta vulnerabilidad, lo que provocaría la ejecución del código.
  • Vulnerabilidad en Dell NetWorker 19.10 (CVE-2024-42422)
    Severidad: ALTA
    Fecha de publicación: 03/12/2024
    Fecha de última actualización: 03/02/2025
    Dell NetWorker, versión 19.10, contiene una vulnerabilidad de omisión de autorización mediante clave controlada por el usuario. Un atacante no autenticado con acceso remoto podría aprovechar esta vulnerabilidad y provocar la divulgación de información.
  • Vulnerabilidad en Blocksy para WordPress (CVE-2024-11420)
    Severidad: MEDIA
    Fecha de publicación: 05/12/2024
    Fecha de última actualización: 03/02/2025
    El tema Blocksy para WordPress es vulnerable a Cross-Site Scripting Almacenado a través del parámetro de enlace del bloque de información de contacto en todas las versiones hasta la 2.0.77 incluida, debido a una desinfección de entrada y un escape de salida insuficientes. 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-53161)
    Severidad: MEDIA
    Fecha de publicación: 24/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se resolvió la siguiente vulnerabilidad: EDAC/bluefield: corrige un posible desbordamiento de enteros. El argumento de 64 bits para la llamada SMC "obtener información DIMM" consta de mem_ctrl_idx desplazado a la izquierda 16 bits y con operación OR con índice DIMM. Con mem_ctrl_idx definido como 32 bits de ancho, la operación de desplazamiento a la izquierda trunca los 16 bits superiores de información durante el cálculo del argumento SMC. La variable de pila mem_ctrl_idx debe definirse como de 64 bits de ancho para evitar cualquier posible desbordamiento de enteros, es decir, pérdida de datos de los 16 bits superiores.
  • Vulnerabilidad en kernel de Linux (CVE-2024-53168)
    Severidad: ALTA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: sunrpc: se corrige un problema de UAF causado por el socket TCP del kernel de sunrpc ERROR: KASAN: slab-use-after-free en tcp_write_timer_handler+0x156/0x3e0 Lectura de tamaño 1 en la dirección ffff888111f322cd por la tarea swapper/0/0 CPU: 0 UID: 0 PID: 0 Comm: swapper/0 No contaminado 6.12.0-rc4-dirty #7 Nombre del hardware: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 Rastreo de llamadas: dump_stack_lvl+0x68/0xa0 print_address_description.constprop.0+0x2c/0x3d0 print_report+0xb4/0x270 asm_sysvec_apic_timer_interrupt+0x1a/0x20 DESCARGA: 0010:default_idle+0xf/0x20 Código: 4c 01 c7 4c 29 c2 e9 72 ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 66 90 0f 00 2d 33 f8 25 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 RSP: 0018:ffffffffa2007e28 EFLAGS: 00000242 RAX: 00000000000f3b31 RBX: 1ffffffff4400fc7 RCX: ffffffffa09c3196 RDX: 0000000000000000 RSI: 00000000000000000 RDI: ffffffff9f00590f RBP: 0000000000000000 R08: 00000000000000001 R09: ffffed102360835d R10: ffff88811b041aeb R11: 00000000000000001 R12: 00000000000000000 R13: fffffffa202d7c0 R14: 0000000000000000 R15: 00000000000147d0 llamada_inactiva_predeterminada+0x6b/0xa0 llamada_inactiva_cpuidle+0x1af/0x1f0 inactividad_real+0xbc/0x130 entrada_inicio_cpu+0x33/0x40 inicio_resto+0x11f/0x210 núcleo_inicio+0x39a/0x420 reserva_inicio_x86_64+0x18/0x30 núcleo_inicio_x86_64+0x97/0xa0 inicio_común_64+0x13e/0x141 Asignado por la tarea 595: pila_guardado_kasan+0x24/0x50 seguimiento_guardado_kasan+0x14/0x30 __kasan_slab_alloc+0x87/0x90 kmem_cache_alloc_noprof+0x12b/0x3f0 copy_net_ns+0x94/0x380 create_new_namespaces+0x24c/0x500 unshare_nsproxy_namespaces+0x75/0xf0 ksys_unshare+0x24e/0x4f0 __x64_sys_unshare+0x1f/0x30 do_syscall_64+0x70/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e Liberado por la tarea 100: kasan_save_stack+0x24/0x50 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x54/0x70 kmem_cache_free+0x156/0x5d0 cleanup_net+0x5d3/0x670 process_one_work+0x776/0xa90 worker_thread+0x2e2/0x560 kthread+0x1a8/0x1f0 ret_from_fork+0x34/0x60 ret_from_fork_asm+0x1a/0x30 Script de reproducción: mkdir -p /mnt/nfsshare mkdir -p /mnt/nfs/netns_1 mkfs.ext4 /dev/sdb mount /dev/sdb /mnt/nfsshare systemctl restart nfs-server chmod 777 /mnt/nfsshare exportfs -i -o rw,no_root_squash *:/mnt/nfsshare ip netns add netns_1 ip link add name veth_1_peer type veth peer veth_1 ifconfig veth_1_peer 11.11.0.254 up ip link set veth_1 netns netns_1 ip netns exec netns_1 ifconfig veth_1 11.11.0.1 ip netns exec netns_1 /root/iptables -A OUTPUT -d 11.11.0.254 -p tcp \ --tcp-flags FIN FIN -j DROP (nota: En mi entorno, una operación DESTROY_CLIENTID siempre se envía inmediatamente, interrumpiendo la conexión tcp de nfs). ip netns exec netns_1 timeout -s 9 300 mount -t nfs -o proto=tcp,vers=4.1 \ 11.11.0.254:/mnt/nfsshare /mnt/nfs/netns_1 ip netns del netns_1 La razón aquí es que el socket tcp en netns_1 (lado nfs) se ha apagado y cerrado (hecho en xs_destroy), pero el mensaje FIN (con ack) se descarta y el lado nfsd sigue enviando mensajes de retransmisión. Como resultado, cuando el sock tcp en netns_1 procesa el mensaje recibido, envía el mensaje (mensaje FIN) en la cola de envío y se restablece el temporizador tcp. Cuando se elimina el espacio de nombres de red, la estructura de red a la que accede la función del controlador del temporizador de tcp causa problemas. Para solucionar este problema, mantengamos netns refcnt para el socket de kernel tcp como se hizo en otros módulos. Este es un truco feo que se puede adaptar fácilmente a kernels anteriores. Seguiremos con una solución adecuada que limpie las interfaces, pero puede que no sea tan fácil adaptarla.
  • Vulnerabilidad en kernel de Linux (CVE-2024-53175)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ipc: se corrige la fuga de memoria si msg_init_ns falla en create_ipc_ns. La asignación de memoria por CPU puede fallar durante create_ipc_ns; sin embargo, este error no se gestiona correctamente, ya que ipc sysctls y mq sysctls no se liberan correctamente. Solucione esto liberando estos dos recursos cuando falle. Aquí está la pila kmemleak cuando percpu falló: objeto sin referencia 0xffff88819de2a600 (tamaño 512): comm "shmem_2nstest", pid 120711, jiffies 4300542254 volcado hexadecimal (primeros 32 bytes): 60 aa 9d 84 ff ff ff ff ff fc 18 48 b2 84 88 ff ff `.........H..... 04 00 00 00 a4 01 00 00 20 e4 56 81 ff ff ff ff ........ .V..... backtrace (crc be7cba35): [] __kmalloc_node_track_caller_noprof+0x333/0x420 [] kmemdup_noprof+0x26/0x50 [] configuración_mq_sysctls+0x57/0x1d0 [] copia_ipcs+0x29c/0x3b0 [] creación_nuevos_espacios_de_nombres+0x1d0/0x920 [] copia_espacios_de_nombres+0x2e9/0x3e0 [] proceso_de_copia+0x29f3/0x7ff0 [] clon_de_kernel+0xc0/0x650 [] __do_sys_clone+0xa1/0xe0 [] hacer_llamada_al_sistema_64+0xbf/0x1c0 [] entrada_LLAMADA_AL_SISTEMA_64_después_de_hwframe+0x4b/0x53
  • Vulnerabilidad en kernel de Linux (CVE-2024-53215)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: svcrdma: se corrige la falla en la destrucción de percpu_counter en svc_rdma_proc_init(). El problema es el siguiente: RPC: módulo de transporte rdma registrado. RPC: módulo de transporte de canal de retorno rdma registrado. RPC: módulo de transporte rdma no registrado. RPC: módulo de transporte de canal de retorno rdma no registrado. ERROR: no se puede gestionar el error de página para la dirección: fffffbfff80c609a PGD 123fee067 P4D 123fee067 PUD 123fea067 PMD 10c624067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI RIP: 0010:percpu_counter_destroy_many+0xf7/0x2a0 Seguimiento de llamadas: __die+0x1f/0x70 page_fault_oops+0x2cd/0x860 spurious_kernel_fault+0x36/0x450 do_kern_addr_fault+0xca/0x100 exc_page_fault+0x128/0x150 asm_exc_page_fault+0x26/0x30 percpu_counter_destroy_many+0xf7/0x2a0 mmdrop+0x209/0x350 finish_task_switch.isra.0+0x481/0x840 schedule_tail+0xe/0xd0 ret_from_fork+0x23/0x80 ret_from_fork_asm+0x1a/0x30 Si register_sysctl() devuelve NULL, entonces svc_rdma_proc_cleanup() no destruirá los contadores por CPU que se inicializan en svc_rdma_proc_init(). Si CONFIG_HOTPLUG_CPU está habilitado, los nodos residuales pueden estar en la lista 'percpu_counters'. El problema anterior puede ocurrir una vez que se elimina el módulo. Si la configuración CONFIG_HOTPLUG_CPU no está habilitada, se produce una pérdida de memoria. Para resolver el problema anterior, simplemente destruya todos los contadores por CPU cuando register_sysctl() devuelva NULL.
  • Vulnerabilidad en kernel de Linux (CVE-2024-53224)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: RDMA/mlx5: mover el registro del notificador de eventos para que esté después del registro del dispositivo. Mueva la inicialización y desinfección del trabajo de cambio de clave p de la etapa de recursos del dispositivo a la etapa del notificador, ya que esta es la etapa que gestiona estos eventos de trabajo. Corrija una ejecución entre la anulación del registro del dispositivo y el trabajo de cambio de clave p moviendo MLX5_IB_STAGE_DEVICE_NOTIFIER para que esté después de MLX5_IB_STAGE_IB_REG para garantizar que el notificador se anule el registro antes que el dispositivo durante la desinfección. Esto garantiza que no haya trabajos que se ejecuten después de que el dispositivo ya se haya anulado el registro, lo que puede causar el pánico a continuación. ERROR: desreferencia de puntero NULL del núcleo, dirección: 0000000000000000 PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 630071 Comm: kworker/1:2 Kdump: cargado Tainted: GW OE --------- --- 5.14.0-162.6.1.el9_1.x86_64 #1 Nombre del hardware: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090008 27/02/2023 Cola de trabajo: eventos pkey_change_handler [mlx5_ib] RIP: 0010:setup_qp+0x38/0x1f0 [mlx5_ib] Código: ee 41 54 45 31 e4 55 89 f5 53 48 89 fb 48 83 ec 20 8b 77 08 65 48 8b 04 25 28 00 00 00 48 89 44 24 18 48 8b 07 48 8d 4c 24 16 <4c> 8b 38 49 8b 87 80 0b 00 00 4c 89 ff 48 8b 80 08 05 00 00 8b 40 RSP: 0018:ffffbcc54068be20 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff954054494128 RCX: ffffbcc54068be36 RDX: ffff954004934000 RSI: 0000000000000001 RDI: ffff954054494128 RBP: 0000000000000023 R08: ffff954001be2c20 R09: 0000000000000001 R10: ffff954001be2c20 R11: ffff9540260133c0 R12: 0000000000000000 R13: 0000000000000023 R14: 0000000000000000 R15: ffff9540ffcb0905 FS: 0000000000000000(0000) GS:ffff9540ffc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000000 CR3: 000000010625c001 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Seguimiento de llamadas: mlx5_ib_gsi_pkey_change+0x20/0x40 [mlx5_ib] process_one_work+0x1e8/0x3c0 worker_thread+0x50/0x3b0 ? rescuer_thread+0x380/0x380 kthread+0x149/0x170 ? set_kthread_struct+0x50/0x50 ret_from_fork+0x22/0x30 Módulos vinculados en: rdma_ucm(OE) rdma_cm(OE) iw_cm(OE) ib_ipoib(OE) ib_cm(OE) ib_umad(OE) mlx5_ib(OE) mlx5_fwctl(OE) fwctl(OE) ib_uverbs(OE) mlx5_core(OE) mlxdevm(OE) ib_core(OE) mlx_compat(OE) psample mlxfw(OE) tls knem(OE) netconsole nfsv3 nfs_acl nfs lockd Grace fscache netfs qrtr rfkill sunrpc intel_rapl_msr intel_rapl_common rapl hv_balloon hv_utils i2c_piix4 pcspkr joydev fuse ext4 mbcache jbd2 sr_mod sd_mod cdrom t10_pi sg ata_generic pci_hyperv pci_hyperv_intf hyperv_drm drm_shmem_helper drm_kms_helper hv_storvsc syscopyarea hv_netvsc sysfillrect sysimgblt hid_hyperv fb_sys_fops scsi_transport_fc hyperv_keyboard drm ata_piix crct10dif_pclmul crc32_pclmul crc32c_intel libata ghash_clmulni_intel hv_vmbus serio_raw [última descarga: ib_core] CR2: 000000000000000 ---[ fin del seguimiento f6f8be4eae12f7bc ]---
  • Vulnerabilidad en kernel de Linux (CVE-2024-53232)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iommu/s390: Implementar dominio de bloqueo Esto corrige un fallo al desconectar en caliente por sorpresa un dispositivo PCI. Este fallo ocurre porque durante la desconexión en caliente __iommu_group_set_domain_nofail() la conexión del dominio predeterminado falla cuando la plataforma ya no reconoce el dispositivo porque ya se ha eliminado y terminamos con un puntero de dominio NULL y UAF. Este es exactamente el caso al que se hace referencia en el segundo comentario en __iommu_device_set_domain() y tal como se indica allí, si en su lugar podemos conectar el dominio de bloqueo, se evita el UAF ya que puede gestionar el dispositivo ya eliminado. Implemente el dominio de bloqueo para usar esta gestión. Con este cambio, el fallo se corrige, pero aún encontramos una advertencia al intentar cambiar la propiedad de DMA en un dispositivo bloqueado.
  • Vulnerabilidad en kernel de Linux (CVE-2024-53239)
    Severidad: ALTA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ALSA: 6fire: Liberar recursos al liberar la tarjeta El código 6fire actual intenta liberar los recursos justo después de la llamada a usb6fire_chip_abort(). Pero en este momento, el objeto de la tarjeta podría estar todavía en uso (ya que estamos llamando a snd_card_free_when_closed()). Para evitar posibles UAF, mueva la liberación de recursos a private_free de la tarjeta en lugar de la llamada manual a usb6fire_chip_destroy() en la devolución de llamada de desconexión USB.
  • Vulnerabilidad en kernel de Linux (CVE-2024-56540)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: accel/ivpu: Evitar la invocación de recuperación durante la sonda y reanudación Refactorizar las funciones de envío y recepción de IPC para permitir la gestión correcta de operaciones que no deberían activar un proceso de recuperación. Exponer ivpu_send_receive_internal(), que ahora es utilizado por la entrada D0i3, la inicialización de DCT y las funciones de inicialización de HWS. Estas funciones se han modificado para devolver códigos de error de forma elegante, en lugar de iniciar la recuperación. Las funciones actualizadas se invocan dentro de ivpu_probe() e ivpu_resume(), lo que garantiza que cualquier error encontrado durante estas etapas dé como resultado una secuencia de desmontaje o apagado adecuada. El enfoque anterior de activar la recuperación dentro de estas funciones podría conducir a una condición de ejecución, lo que podría causar un comportamiento indefinido y fallas del kernel debido a desreferencias de puntero nulo.
  • Vulnerabilidad en kernel de Linux (CVE-2024-56544)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: udmabuf: cambia la matriz de folios de kmalloc a kvmalloc Cuando PAGE_SIZE es 4096, MAX_PAGE_ORDER es 10, en una máquina de 64 bits, page_alloc solo admite 4 MB. Si es mayor, se activa esta advertencia y se devuelve NULL. udmabuf puede cambiar el límite de tamaño. Si lo cambia a 3072 (3 GB) y luego asigna 3 GB, udmabuf no podrá crearlo. [ 4080.876581] ------------[ cortar aquí ]------------ [ 4080.876843] ADVERTENCIA: CPU: 3 PID: 2015 en mm/page_alloc.c:4556 __alloc_pages+0x2c8/0x350 [ 4080.878839] RIP: 0010:__alloc_pages+0x2c8/0x350 [ 4080.879470] Seguimiento de llamadas: [ 4080.879473] [ 4080.879473] ? __alloc_pages+0x2c8/0x350 [ 4080.879475] ? __warn.cold+0x8e/0xe8 [ 4080.880647] ? __alloc_pages+0x2c8/0x350 [ 4080.880909] ? report_bug+0xff/0x140 [ 4080.881175] ? handle_bug+0x3c/0x80 [ 4080.881556] ? exc_invalid_op+0x17/0x70 [ 4080.881559] ? asm_exc_invalid_op+0x1a/0x20 [ 4080.882077] ? udmabuf_create+0x131/0x400 Debido a MAX_PAGE_ORDER, kmalloc puede asignar un máximo de 4096 * (1 << 10), 4 MB de memoria, cada entrada de la matriz es un puntero (8 bytes), por lo que puede guardar 524288 páginas (2 GB). Además, es posible que no se garantice que se pueda aplicar el pedido costoso (pedido 3) debido a la fragmentación. Este parche cambia la matriz udmabuf para usar kvmalloc_array, lo que permite que la asignación se convierta en una función alternativa de vmalloc, lo que puede garantizar la asignación para cualquier tamaño y no afecta el rendimiento de las asignaciones de kmalloc.
  • Vulnerabilidad en kernel de Linux (CVE-2024-56568)
    Severidad: MEDIA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iommu/arm-smmu: Aplazar la sonda de los clientes después del límite del dispositivo smmu. Se produce una desreferencia de puntero nulo debido a una ejecución entre la sonda del controlador smmu y la sonda del controlador del cliente, cuando se llama a of_dma_configure() para el cliente después de que se haya ejecutado la sonda iommu_device_register() para el controlador smmu pero antes de que se haya llamado a driver_bound() para el controlador smmu. A continuación se muestra cómo se produce la ejecución: T1: sonda de dispositivo Smmu T2: sonda de dispositivo cliente really_probe() arm_smmu_device_probe() iommu_device_register() really_probe() platform_dma_configure() of_dma_configure() of_dma_configure_id() of_iommu_configure() iommu_probe_device() iommu_init_device() arm_smmu_probe_device() arm_smmu_get_by_fwnode() driver_find_device_by_fwnode() driver_find_device() next_device() klist_next() /* puntero nulo asignado a smmu */ /* desreferencia de puntero nulo mientras smmu->streamid_mask */ driver_bound() klist_add_tail() Cuando este puntero smmu nulo se desreferencia más adelante arm_smmu_probe_device, el dispositivo falla. Para solucionar este problema, postergue la prueba del dispositivo cliente hasta que el dispositivo smmu se haya vinculado al controlador smmu de arm. [will: Agregar comentario]
  • Vulnerabilidad en kernel de Linux (CVE-2024-56635)
    Severidad: ALTA
    Fecha de publicación: 27/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: evitar un UAF potencial en default_operstate() syzbot informó un UAF en default_operstate() [1] El problema es una carrera entre el desmantelamiento de dispositivos y redes. Después de llamar a __rtnl_unlock() desde netdev_run_todo(), no podemos asumir que las redes de cada dispositivo aún estén activas. Asegúrese de que el dispositivo no esté en estado NETREG_UNREGISTERED y agregue un ASSERT_RTNL() antes de la llamada a __dev_get_by_index(). Es posible que movamos este ASSERT_RTNL() a __dev_get_by_index() en el futuro. [1] ERROR: KASAN: slab-use-after-free en __dev_get_by_index+0x5d/0x110 net/core/dev.c:852 Lectura de tamaño 8 en la dirección ffff888043eba1b0 por la tarea syz.0.0/5339 CPU: 0 UID: 0 PID: 5339 Comm: syz.0.0 No contaminado 6.12.0-syzkaller-10296-gaaf20f870da0 #0 Nombre del hardware: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Seguimiento de llamadas: __dump_stack lib/dump_stack.c:94 [en línea] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 imprimir_dirección_descripción mm/kasan/report.c:378 [en línea] imprimir_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 __dev_get_by_index+0x5d/0x110 net/core/dev.c:852 estado_operación_predeterminado net/core/link_watch.c:51 [en línea] rfc2863_policy+0x224/0x300 net/core/link_watch.c:67 linkwatch_do_dev+0x3e/0x170 net/core/link_watch.c:170 netdev_run_todo+0x461/0x1000 net/core/dev.c:10894 rtnl_unlock net/core/rtnetlink.c:152 [en línea] rtnl_net_unlock include/linux/rtnetlink.h:133 [en línea] rtnl_dellink+0x760/0x8d0 net/core/rtnetlink.c:3520 rtnetlink_rcv_msg+0x791/0xcf0 net/core/rtnetlink.c:6911 netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2541 netlink_unicast_kernel net/netlink/af_netlink.c:1321 [en línea] netlink_unicast+0x7f6/0x990 net/netlink/af_netlink.c:1347 netlink_sendmsg+0x8e4/0xcb0 net/netlink/af_netlink.c:1891 sock_sendmsg_nosec net/socket.c:711 [en línea] __sock_sendmsg+0x221/0x270 net/socket.c:726 ____sys_sendmsg+0x52a/0x7e0 net/socket.c:2583 ___sys_sendmsg net/socket.c:2637 [en línea] __sys_sendmsg+0x269/0x350 net/socket.c:2669 do_syscall_x64 arch/x86/entry/common.c:52 [en línea] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f2a3cb80809 Código: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f2a3d9cd058 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f2a3cd45fa0 RCX: 00007f2a3cb80809 RDX: 000000000000000 RSI: 0000000020000000 RDI: 0000000000000008 RBP: 00007f2a3cbf393e R08: 000000000000000 R09: 0000000000000000 R10: 00000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f2a3cd45fa0 R15: 00007ffd03bc65c8 Asignado por la tarea 5339: kasan_save_stack mm/kasan/common.c:47 [en línea] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [en línea] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394 kasan_kmalloc incluir/linux/kasan.h:260 [en línea] __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4314 kmalloc_noprof incluir/linux/slab.h:901 [en línea] kmalloc_array_noprof incluir/linux/slab.h:945 [en línea] netdev_create_hash net/core/dev.c:11870 [en línea] netdev_init+0x10c/0x250 net/core/dev.c:11890 ops_init+0x31e/0x590 net/core/net_namespace.c:138 setup_net+0x287/0x9e0 net/core/net_namespace.c:362 copy_net_ns+0x33f/0x570 net/core/net_namespace.c:500 crear_nuevos_espacios_de_nombres+0x425/0x7b0 kernel/nsproxy.c:110 dejar_de_compartir_espacios_de_nombres_nsproxy+0x124/0x180 kernel/nsproxy.c:228 dejar_de_compartir_ksys+0x57d/0xa70 kernel/fork.c:3314 __do_sys_unshare kernel/fork.c:3385 [en línea] __se_sys_unshare kernel/fork.c:3383 [en línea] __x64_sys_unshare+0x38/0x40 ---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2024-56702)
    Severidad: MEDIA
    Fecha de publicación: 28/12/2024
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: Marcar argumentos raw_tp con PTR_MAYBE_NULL Los argumentos para un tracepoint sin procesar se etiquetan como confiables, lo que conlleva la semántica de que el puntero no será NULL. Sin embargo, en ciertos casos, un argumento de tracepoint sin procesar puede terminar siendo NULL. Hay más contexto disponible sobre este problema en [0]. Por lo tanto, existe una discrepancia entre la realidad, que los argumentos raw_tp pueden ser NULL, y el conocimiento del verificador, de que nunca son NULL, lo que hace que se eliminen las comprobaciones NULL explícitas y los accesos a dichos punteros potencialmente bloqueen el kernel. Para solucionar esto, marque los argumentos raw_tp como PTR_MAYBE_NULL y luego aplique un caso especial a la desreferencia y la aritmética de punteros para permitirlo, y permita pasarlos a ayudantes/kfuncs; estas excepciones se realizan solo para programas raw_tp. Asegúrese de no hacer esto cuando ref_obj_id > 0, ya que en ese caso se trata de un objeto adquirido y no necesita dicho ajuste. La razón por la que hacemos la lógica mask_raw_tp_trusted_reg es porque otros volverán a verificar en algunos lugares si el registro es un trusted_reg y luego considerarán nuestro registro como no confiable al detectar la presencia del indicador PTR_MAYBE_NULL. Para permitir una desreferencia segura, habilitamos el marcado PROBE_MEM cuando vemos cargas en punteros confiables con PTR_MAYBE_NULL. Si bien los argumentos raw_tp confiables también se pueden pasar a los ayudantes o kfuncs donde tal suposición rota puede causar problemas, un futuro conjunto de parches abordará su caso por separado, ya que PTR_TO_BTF_ID (sin PTR_TRUSTED) ya se puede pasar a los ayudantes y causa problemas similares. Por lo tanto, se dejan solos por ahora. Es posible que estas verificaciones también permitan pasar argumentos que no sean raw_tp que sean PTR_TO_BTF_ID confiables con marcado nulo. En tal caso, permitir la desreferencia cuando el puntero es NULL expande el comportamiento permitido, por lo que no se producirá una regresión de los programas existentes, y el caso de pasarlos a los ayudantes es el mismo que el anterior y se tratará más adelante. También actualice el caso de falla en la autoprueba tp_btf_nullable para capturar el nuevo comportamiento, ya que el verificador ya no provocará un error cuando desreferencia directamente un argumento de punto de seguimiento sin formato marcado como __nullable. [0]: https://lore.kernel.org/bpf/ZrCZS6nisraEqehw@jlelli-thinkpadt14gen4.remote.csb
  • Vulnerabilidad en kernel de Linux (CVE-2024-43098)
    Severidad: MEDIA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: i3c: Use i3cdev->desc->info en lugar de llamar a i3c_device_get_info() para evitar un bloqueo. Puede ocurrir un bloqueo porque i3c_master_register() adquiere &i3cbus->lock dos veces. Vea el registro a continuación. Use i3cdev->desc->info en lugar de llamar a i3c_device_info() para evitar adquirir el bloqueo dos veces. v2: - Se modificaron el título y el mensaje de confirmación ============================================= ADVERTENCIA: se detectó un posible bloqueo recursivo 6.11.0-mainline -------------------------------------------- init/1 is trying to acquire lock: f1ffff80a6a40dc0 (&i3cbus->lock){++++}-{3:3}, at: i3c_bus_normaluse_lock but task is already holding lock: f1ffff80a6a40dc0 (&i3cbus->lock){++++}-{3:3}, at: i3c_master_register other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&i3cbus->lock); lock(&i3cbus->lock); *** DEADLOCK *** May be due to missing lock nesting notation 2 locks held by init/1: #0: fcffff809b6798f8 (&dev->mutex){....}-{3:3}, at: __driver_attach #1: f1ffff80a6a40dc0 (&i3cbus->lock){++++}-{3:3}, at: i3c_master_register stack backtrace: CPU: 6 UID: 0 PID: 1 Comm: init Call trace: dump_backtrace+0xfc/0x17c show_stack+0x18/0x28 dump_stack_lvl+0x40/0xc0 dump_stack+0x18/0x24 print_deadlock_bug+0x388/0x390 __lock_acquire+0x18bc/0x32ec lock_acquire+0x134/0x2b0 down_read+0x50/0x19c i3c_bus_normaluse_lock+0x14/0x24 i3c_device_get_info+0x24/0x58 i3c_device_uevent+0x34/0xa4 dev_uevent+0x310/0x384 kobject_uevent_env+0x244/0x414 kobject_uevent+0x14/0x20 device_add+0x278/0x460 device_register+0x20/0x34 i3c_master_register_new_i3c_devs+0x78/0x154 i3c_master_register+0x6a0/0x6d4 mtk_i3c_master_probe+0x3b8/0x4d8 platform_probe+0xa0/0xe0 really_probe+0x114/0x454 __driver_probe_device+0xa0/0x15c driver_probe_device+0x3c/0x1ac __driver_attach+0xc4/0x1f0 bus_for_each_dev+0x104/0x160 driver_attach+0x24/0x34 bus_add_driver+0x14c/0x294 driver_register+0x68/0x104 __platform_driver_register+0x20/0x30 init_module+0x20/0xfe4 do_one_initcall+0x184/0x464 do_init_module+0x58/0x1ec load_module+0xefc/0x10c8 __arm64_sys_finit_module+0x238/0x33c invoke_syscall+0x58/0x10c el0_svc_common+0xa8/0xdc do_el0_svc+0x1c/0x28 el0_svc+0x50/0xac el0t_64_sync_handler+0x70/0xbc el0t_64_sync+0x1a8/0x1ac
  • Vulnerabilidad en kernel de Linux (CVE-2024-47143)
    Severidad: MEDIA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: dma-debug: corrige un posible bloqueo en radix_lock radix_lock() no se debe mantener mientras se mantiene dma_hash_entry[idx].lock de lo contrario, existe un posible escenario de bloqueo cuando se llama a la API de depuración de dma manteniendo rq_lock(): CPU0 CPU1 CPU2 dma_free_attrs() check_unmap() add_dma_entry() __schedule() //out (A) rq_lock() get_hash_bucket() (A) dma_entry_hash check_sync() (A) radix_lock() (W) dma_entry_hash dma_entry_free() (W) radix_lock() // El único rq_lock() de CPU2 (W) La situación de CPU1 puede ocurrir cuando extiende el árbol de radix e intenta despertar a kswapd a través de wake_all_kswapd(). La situación de CPU2 puede ocurrir mientras se ejecuta perf_event_task_sched_out() (es decir, se llama a la operación de sincronización de dma mientras se elimina perf_event usando etm y etr tmc, que son backends del controlador hwtracing de Arm Coresight). Para eliminar esta posible situación, llame a dma_entry_free() después de put_hash_bucket() en check_unmap().
  • Vulnerabilidad en kernel de Linux (CVE-2024-48875)
    Severidad: MEDIA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs: no tome dev_replace rwsem en la tarea que ya lo contiene Al ejecutar fstests btrfs/011 con MKFS_OPTIONS="-O rst" para forzar el uso del árbol de bandas RAID, obtenemos el siguiente mensaje de lockdep: Información de BTRFS (dispositivo sdd): dev_replace de /dev/sdd (devid 1) a /dev/sdb iniciado ============================================ ADVERTENCIA: se detectó un posible bloqueo recursivo 6.11.0-rc3-btrfs-for-next #599 No contaminado -------------------------------------------- btrfs/2326 está intentando adquirir el bloqueo: ffff88810f215c98 (&fs_info->dev_replace.rwsem){++++}-{3:3}, en: btrfs_map_block+0x39f/0x2250 pero la tarea ya tiene el bloqueo: ffff88810f215c98 (&fs_info->dev_replace.rwsem){++++}-{3:3}, en: btrfs_map_block+0x39f/0x2250 otra información que podría ayudarnos a depurar esto: Posible escenario de bloqueo inseguro: CPU0 ---- lock(&fs_info->dev_replace.rwsem); lock(&fs_info->dev_replace.rwsem); *** BLOQUEO INTERMEDIO *** Puede deberse a la falta de notación de anidamiento de bloqueo 1 bloqueo mantenido por btrfs/2326: #0: ffff88810f215c98 (&fs_info->dev_replace.rwsem){++++}-{3:3}, en: btrfs_map_block+0x39f/0x2250 seguimiento de pila: CPU: 1 UID: 0 PID: 2326 Comm: btrfs No contaminado 6.11.0-rc3-btrfs-for-next #599 Nombre del hardware: Bochs Bochs, BIOS Bochs 01/01/2011 Seguimiento de llamadas: dump_stack_lvl+0x5b/0x80 __lock_acquire+0x2798/0x69d0 ? __pfx___lock_acquire+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 lock_acquire+0x19d/0x4a0 ? btrfs_map_block+0x39f/0x2250 ? __pfx_lock_acquire+0x10/0x10 ? find_held_lock+0x2d/0x110 ? lock_is_held_type+0x8f/0x100 down_read+0x8e/0x440 ? btrfs_map_block+0x39f/0x2250 ? __pfx_down_read+0x10/0x10 ? do_raw_read_unlock+0x44/0x70 ? kmem_cache_alloc_noprof+0x1f2/0x300 ? bvec_alloc+0xd7/0x1b0 ? bio_add_folio+0x171/0x270 ? __pfx_bio_add_folio+0x10/0x10 ? __kasan_check_read+0x20/0x20 btrfs_submit_bio+0x37/0x80 lectura_extensión_búfer_páginas+0x3df/0x6c0 btrfs_lectura_extensión_búfer+0x13e/0x5f0 lectura_árbol_bloque+0x81/0xe0 lectura_bloque_para_búsqueda+0x4bd/0x7a0 ? __pfx_lectura_bloque_para_búsqueda+0x10/0x10 btrfs_búsqueda_slot+0x78d/0x2720 ? __pfx_btrfs_búsqueda_slot+0x10/0x10 ? bloqueo_se_retiene_tipo+0x8f/0x100 ? kasan_guardar_pista+0x14/0x30 ? __kasan_slab_alloc+0x6e/0x70 ? kmem_cache_alloc_noprof+0x1f2/0x300 btrfs_get_raid_extent_offset+0x181/0x820 ? __pfx_lock_acquire+0x10/0x10 ? __pfx_btrfs_get_raid_extent_offset+0x10/0x10 ? down_read+0x194/0x440 ? __pfx_down_read+0x10/0x10 ? do_raw_read_unlock+0x44/0x70 ? _raw_read_unlock+0x23/0x40 btrfs_map_block+0x5b5/0x2250 ? liberación de bloqueo+0x20e/0x710 ? __pfx_scrub_stripe+0x10/0x10 ? __pfx_lock_release+0x10/0x10 ? hacer_desbloqueo_lectura_sin_encriptar+0x44/0x70 ? _desbloqueo_lectura_sin_encriptar+0x23/0x40 fragmento_de_scruzamiento+0x257/0x4a0 fragmento_de_scruzamiento_enumerar+0x64c/0xf70 ? __mutex_unlock_slowpath+0x147/0x5f0 ? __pfx_scrub_enumerar_chunks+0x10/0x10 ? tiempo_de_espera_bit+0xb0/0x170 ? __up_read+0x189/0x700 ? obtención_trabajadores_de_scruzamiento+0x231/0x300 ? up_write+0x490/0x4f0 btrfs_scrub_dev+0x52e/0xcd0 ? create_pending_snapshots+0x230/0x250 ? __pfx_btrfs_scrub_dev+0x10/0x10 btrfs_dev_replace_by_ioctl+0xd69/0x1d00 ? lock_acquire+0x19d/0x4a0 ? __pfx_btrfs_dev_replace_by_ioctl+0x10/0x10 ? ---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2024-50051)
    Severidad: ALTA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: spi: mpc52xx: Agregar cancel_work_sync antes de eliminar el módulo Si eliminamos el módulo que llamará a mpc52xx_spi_remove, liberará 'ms' a través de spi_unregister_controller. mientras que se utilizará el trabajo ms->work. La secuencia de operaciones que puede provocar un error de UAF. Arréglelo asegurándose de que el trabajo se cancele antes de continuar con la desinfección en mpc52xx_spi_remove.
  • Vulnerabilidad en kernel de Linux (CVE-2024-57798)
    Severidad: ALTA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/dp_mst: garantizar que el puntero mst_primary sea válido en drm_dp_mst_handle_up_req() Al recibir un mensaje de solicitud de activación de MST de un hilo en drm_dp_mst_handle_up_req(), la topología de MST podría eliminarse de otro hilo mediante drm_dp_mst_topology_mgr_set_mst(false), liberando mst_primary y estableciendo drm_dp_mst_topology_mgr::mst_primary en NULL. Esto podría conducir a una desreferencia/use after free de NULL de mst_primary en drm_dp_mst_handle_up_req(). Evite lo anterior manteniendo una referencia para mst_primary en drm_dp_mst_handle_up_req() mientras se usa. v2: Se soluciona el problema de liberar la solicitud si falla la obtención de una referencia mst_primary.
  • Vulnerabilidad en kernel de Linux (CVE-2024-57874)
    Severidad: MEDIA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: arm64: ptrace: arreglo de SETREGSET parcial para NT_ARM_TAGGED_ADDR_CTRL Actualmente, tagged_addr_ctrl_set() no inicializa la variable temporal 'ctrl', y una llamada a SETREGSET con una longitud de cero la dejará sin inicializar. En consecuencia, tagged_addr_ctrl_set() consumirá un valor arbitrario, lo que potencialmente filtrará hasta 64 bits de memoria de la pila del kernel. La lectura está limitada a una ranura específica en la pila, y el problema no proporciona un mecanismo de escritura. Como set_tagged_addr_ctrl() solo acepta valores donde los bits [63:4] sean cero y rechaza otros valores, un intento de SETREGSET parcial tendrá éxito o fallará aleatoriamente dependiendo del valor del valor no inicializado, y la exposición es significativamente limitada. Solucione esto inicializando el valor temporal antes de copiar el conjunto de registros desde el espacio de usuario, como para otros conjuntos de registros (por ejemplo, NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL). En el caso de una escritura de longitud cero, se conservará el valor existente de la dirección etiquetada ctrl. El conjunto de registros NT_ARM_TAGGED_ADDR_CTRL solo es visible en la vista user_aarch64_view utilizada por una tarea nativa de AArch64 para manipular otra tarea nativa de AArch64. Como get_tagged_addr_ctrl() solo devuelve un valor de error cuando se llama para una tarea de compatibilidad, tagged_addr_ctrl_get() y tagged_addr_ctrl_set() nunca deben observar un valor de error de get_tagged_addr_ctrl(). Agregue un WARN_ON_ONCE() a ambos para indicar que dicho error sería inesperado y que la gestión de errores no falta en ninguno de los casos.
  • Vulnerabilidad en kernel de Linux (CVE-2024-57877)
    Severidad: MEDIA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: arm64: ptrace: corrección de SETREGSET parcial para NT_ARM_POE Actualmente, poe_set() no inicializa la variable temporal 'ctrl', y una llamada a SETREGSET con una longitud de cero la dejará sin inicializar. En consecuencia, se volverá a escribir un valor arbitrario en target->thread.por_el0, lo que podría provocar una fuga de hasta 64 bits de memoria de la pila del kernel. La lectura está limitada a una ranura específica en la pila, y el problema no proporciona un mecanismo de escritura. Corrija esto inicializando el valor temporal antes de copiar el conjunto de registros desde el espacio de usuario, como para otros conjuntos de registros (por ejemplo, NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL). En el caso de una escritura de longitud cero, se conservarán los contenidos existentes de POR_EL1. Antes de este parche: | # ./poe-test | Intentando escribir NT_ARM_POE::por_el0 = 0x900d900d900d900d | SETREGSET(nt=0x40f, len=8) escribió 8 bytes | | Intentando leer NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) leyó 8 bytes | Leído NT_ARM_POE::por_el0 = 0x900d900d900d900d | | Intentando escribir NT_ARM_POE (longitud cero) | SETREGSET(nt=0x40f, len=0) escribió 0 bytes | | Intentando leer NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) leyó 8 bytes | Leer NT_ARM_POE::por_el0 = 0xffff8000839c3d50 Después de este parche: | # ./poe-test | Intentando escribir NT_ARM_POE::por_el0 = 0x900d900d900d900d | SETREGSET(nt=0x40f, len=8) escribió 8 bytes | | Intentando leer NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) leyó 8 bytes | Leer NT_ARM_POE::por_el0 = 0x900d900d900d900d | | Intentando escribir NT_ARM_POE (longitud cero) | SETREGSET(nt=0x40f, len=0) escribió 0 bytes | | Intentando leer NT_ARM_POE::por_el0 | GETREGSET(nt=0x40f, len=8) leer 8 bytes | Leer NT_ARM_POE::por_el0 = 0x900d900d900d900d
  • Vulnerabilidad en kernel de Linux (CVE-2024-57878)
    Severidad: MEDIA
    Fecha de publicación: 11/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: arm64: ptrace: corrección de SETREGSET parcial para NT_ARM_FPMR Actualmente, fpmr_set() no inicializa la variable temporal 'fpmr', y una llamada a SETREGSET con una longitud de cero la dejará sin inicializar. En consecuencia, se volverá a escribir un valor arbitrario en target->thread.uw.fpmr, lo que podría provocar una pérdida de hasta 64 bits de memoria de la pila del kernel. La lectura está limitada a una ranura específica en la pila, y el problema no proporciona un mecanismo de escritura. Corrija esto inicializando el valor temporal antes de copiar el conjunto de registros desde el espacio de usuario, como para otros conjuntos de registros (por ejemplo, NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL). En el caso de una escritura de longitud cero, se conservarán los contenidos existentes de FPMR. Antes de este parche: | # ./fpmr-test | Intentando escribir NT_ARM_FPMR::fpmr = 0x900d900d900d900d | SETREGSET(nt=0x40e, len=8) escribió 8 bytes | | Intentando leer NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) leyó 8 bytes | Leído NT_ARM_FPMR::fpmr = 0x900d900d900d900d | | Intentando escribir NT_ARM_FPMR (longitud cero) | SETREGSET(nt=0x40e, len=0) escribió 0 bytes | | Intentando leer NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) leyó 8 bytes | Leer NT_ARM_FPMR::fpmr = 0xffff800083963d50 Después de este parche: | # ./fpmr-test | Intentando escribir NT_ARM_FPMR::fpmr = 0x900d900d900d900d | SETREGSET(nt=0x40e, len=8) escribió 8 bytes | | Intentando leer NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) leyó 8 bytes | Leer NT_ARM_FPMR::fpmr = 0x900d900d900d900d | | Intentando escribir NT_ARM_FPMR (longitud cero) | SETREGSET(nt=0x40e, len=0) escribió 0 bytes | | Intentando leer NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) leer 8 bytes | Leer NT_ARM_FPMR::fpmr = 0x900d900d900d900d
  • Vulnerabilidad en kernel de Linux (CVE-2025-21631)
    Severidad: ALTA
    Fecha de publicación: 19/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: block, bfq: fix waker_bfqq UAF after bfq_split_bfqq() Our syzkaller report a following UAF for v6.6: BUG: KASAN: slab-use-after-free in bfq_init_rq+0x175d/0x17a0 block/bfq-iosched.c:6958 Read of size 8 at addr ffff8881b57147d8 by task fsstress/232726 CPU: 2 PID: 232726 Comm: fsstress Not tainted 6.6.0-g3629d1885222 #39 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x91/0xf0 lib/dump_stack.c:106 print_address_description.constprop.0+0x66/0x300 mm/kasan/report.c:364 print_report+0x3e/0x70 mm/kasan/report.c:475 kasan_report+0xb8/0xf0 mm/kasan/report.c:588 hlist_add_head include/linux/list.h:1023 [inline] bfq_init_rq+0x175d/0x17a0 block/bfq-iosched.c:6958 bfq_insert_request.isra.0+0xe8/0xa20 block/bfq-iosched.c:6271 bfq_insert_requests+0x27f/0x390 block/bfq-iosched.c:6323 blk_mq_insert_request+0x290/0x8f0 block/blk-mq.c:2660 blk_mq_submit_bio+0x1021/0x15e0 block/blk-mq.c:3143 __submit_bio+0xa0/0x6b0 block/blk-core.c:639 __submit_bio_noacct_mq block/blk-core.c:718 [inline] submit_bio_noacct_nocheck+0x5b7/0x810 block/blk-core.c:747 submit_bio_noacct+0xca0/0x1990 block/blk-core.c:847 __ext4_read_bh fs/ext4/super.c:205 [inline] ext4_read_bh+0x15e/0x2e0 fs/ext4/super.c:230 __read_extent_tree_block+0x304/0x6f0 fs/ext4/extents.c:567 ext4_find_extent+0x479/0xd20 fs/ext4/extents.c:947 ext4_ext_map_blocks+0x1a3/0x2680 fs/ext4/extents.c:4182 ext4_map_blocks+0x929/0x15a0 fs/ext4/inode.c:660 ext4_iomap_begin_report+0x298/0x480 fs/ext4/inode.c:3569 iomap_iter+0x3dd/0x1010 fs/iomap/iter.c:91 iomap_fiemap+0x1f4/0x360 fs/iomap/fiemap.c:80 ext4_fiemap+0x181/0x210 fs/ext4/extents.c:5051 ioctl_fiemap.isra.0+0x1b4/0x290 fs/ioctl.c:220 do_vfs_ioctl+0x31c/0x11a0 fs/ioctl.c:811 __do_sys_ioctl fs/ioctl.c:869 [inline] __se_sys_ioctl+0xae/0x190 fs/ioctl.c:857 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x70/0x120 arch/x86/entry/common.c:81 entry_SYSCALL_64_after_hwframe+0x78/0xe2 Allocated by task 232719: kasan_save_stack+0x22/0x50 mm/kasan/common.c:45 kasan_set_track+0x25/0x30 mm/kasan/common.c:52 __kasan_slab_alloc+0x87/0x90 mm/kasan/common.c:328 kasan_slab_alloc include/linux/kasan.h:188 [inline] slab_post_alloc_hook mm/slab.h:768 [inline] slab_alloc_node mm/slub.c:3492 [inline] kmem_cache_alloc_node+0x1b8/0x6f0 mm/slub.c:3537 bfq_get_queue+0x215/0x1f00 block/bfq-iosched.c:5869 bfq_get_bfqq_handle_split+0x167/0x5f0 block/bfq-iosched.c:6776 bfq_init_rq+0x13a4/0x17a0 block/bfq-iosched.c:6938 bfq_insert_request.isra.0+0xe8/0xa20 block/bfq-iosched.c:6271 bfq_insert_requests+0x27f/0x390 block/bfq-iosched.c:6323 blk_mq_insert_request+0x290/0x8f0 block/blk-mq.c:2660 blk_mq_submit_bio+0x1021/0x15e0 block/blk-mq.c:3143 __submit_bio+0xa0/0x6b0 block/blk-core.c:639 __submit_bio_noacct_mq block/blk-core.c:718 [inline] submit_bio_noacct_nocheck+0x5b7/0x810 block/blk-core.c:747 submit_bio_noacct+0xca0/0x1990 block/blk-core.c:847 __ext4_read_bh fs/ext4/super.c:205 [inline] ext4_read_bh_nowait+0x15a/0x240 fs/ext4/super.c:217 ext4_read_bh_lock+0xac/0xd0 fs/ext4/super.c:242 ext4_bread_batch+0x268/0x500 fs/ext4/inode.c:958 __ext4_find_entry+0x448/0x10f0 fs/ext4/namei.c:1671 ext4_lookup_entry fs/ext4/namei.c:1774 [inline] ext4_lookup.part.0+0x359/0x6f0 fs/ext4/namei.c:1842 ext4_lookup+0x72/0x90 fs/ext4/namei.c:1839 __lookup_slow+0x257/0x480 fs/namei.c:1696 lookup_slow fs/namei.c:1713 [inline] walk_component+0x454/0x5c0 fs/namei.c:2004 link_path_walk.part.0+0x773/0xda0 fs/namei.c:2331 link_path_walk fs/namei.c:3826 [inline] path_openat+0x1b9/0x520 fs/namei.c:3826 do_filp_open+0x1b7/0x400 fs/namei.c:3857 do_sys_openat2+0x5dc/0x6e0 fs/open.c:1428 do_sys_open fs/open.c:1443 [inline] __do_sys_openat fs/open.c:1459 [inline] __se_sys_openat fs/open.c:1454 [inline] __x64_sys_openat+0x148/0x200 fs/open.c:1454 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_6 ---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2025-21634)
    Severidad: MEDIA
    Fecha de publicación: 19/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: cgroup/cpuset: eliminar kernfs active break Se encontró una advertencia: ADVERTENCIA: CPU: 10 PID: 3486953 en fs/kernfs/file.c:828 CPU: 10 PID: 3486953 Comm: rmdir Kdump: cargado Tainted: G RIP: 0010:kernfs_should_drain_open_files+0x1a1/0x1b0 RSP: 0018:ffff8881107ef9e0 EFLAGS: 00010202 RAX: 0000000080000002 RBX: ffff888154738c00 RCX: dffffc0000000000 RDX: 00000000000000007 RSI: 0000000000000004 RDI: ffff888154738c04 RBP: ffff888154738c04 R08: ffffffffaf27fa15 R09: ffffed102a8e7180 R10: ffff888154738c07 R11: 0000000000000000 R12: ffff888154738c08 R13: ffff888750f8c000 R14: ffff888750f8c0e8 R15: ffff888154738ca0 FS: 00007f84cd0be740(0000) GS:ffff8887ddc00000(0000) knlGS:00000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555f9fbe00c8 CR3: 0000000153eec001 CR4: 0000000000370ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: GS:ffff8887ddc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555f9fbe00c8 CR3: 0000000153eec001 CR4: 0000000000370ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Seguimiento de llamadas: kernfs_drain+0x15e/0x2f0 __kernfs_remove+0x165/0x300 kernfs_remove_by_name_ns+0x7b/0xc0 cgroup_rm_file+0x154/0x1c0 cgroup_addrm_files+0x1c2/0x1f0 css_clear_dir+0x77/0x110 kill_css+0x4c/0x1b0 cgroup_destroy_locked+0x194/0x380 cgroup_rmdir+0x2a/0x140 Se puede explicar por: rmdir echo 1 > cpuset.cpus kernfs_fop_write_iter // active=0 cgroup_rm_file kernfs_remove_by_name_ns kernfs_get_active // ??activo=1 __kernfs_remove // ??activo=0x80000002 kernfs_drain cpuset_write_resmask wait_event //esperando (activo == 0x80000001) kernfs_break_active_protection // activo = 0x80000001 // continuar kernfs_unbreak_active_protection // activo = 0x80000002 ... kernfs_should_drain_open_files // se produce una advertencia kernfs_put_active Esta advertencia es causada por 'kernfs_break_active_protection' cuando está escribiendo en cpuset.cpus y el cgroup se elimina simultáneamente. El commit 3a5a6d0c2b03 ("cpuset: no anide cgroup_mutex dentro de get_online_cpus()") hizo que cpuset_hotplug_workfn sea asíncrono. Este cambio implica llamar a flush_work(), que puede crear una dependencia de bloqueo circular de múltiples procesos que involucran a cgroup_mutex, lo que puede llevar a un bloqueo. Para evitarlo, el commit 76bb5ab8f6e3 ("cpuset: interrumpa la protección activa de kernfs en cpuset_write_resmask()") agregó 'kernfs_break_active_protection' en cpuset_write_resmask. Esto podría llevar a esta advertencia. Después de el commit 2125c0034c5d ("cgroup/cpuset: haga que el procesamiento de hotplug de cpuset sea sincrónico"), cpuset_write_resmask ya no necesita esperar a que finalice el hotplug, lo que significa que las operaciones de hotplug y cpuset concurrentes ya no son posibles. Por lo tanto, el bloqueo ya no existe y ya no es necesario "interrumpir la protección activa". Para solucionar esta advertencia, simplemente elimine la operación kernfs_break_active_protection en "cpuset_write_resmask".
  • Vulnerabilidad en kernel de Linux (CVE-2025-21652)
    Severidad: ALTA
    Fecha de publicación: 19/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ipvlan: Se ha corregido el error use-after-free en ipvlan_get_iflink(). syzbot presentó un informe de error use-after-free [0] sobre ipvlan y linkwatch. ipvlan no contiene un refcnt del dispositivo inferior a diferencia de vlan y macvlan. Si se activa el trabajo de linkwatch para el dispositivo ipvlan dev, es posible que el dispositivo inferior ya se haya liberado, lo que da como resultado un UAF de ipvlan->phy_dev en ipvlan_get_iflink(). Podemos retrasar la anulación del registro del dispositivo inferior como vlan y macvlan al retener el refcnt del dispositivo inferior en dev->netdev_ops->ndo_init() y liberarlo en dev->priv_destructor(). Jakub señaló que llamar a .ndo_XXX después de que unregister_netdevice() haya regresado es propenso a errores y sugirió [1] abordar este UAF en el núcleo llevando más allá el commit 750e51603395 ("net: evitar un UAF potencial en default_operstate()"). Supongamos que se cancela el registro de dispositivos y usemos la protección RCU en default_operstate() para no competir con la cancelación del registro del dispositivo. [0]: ERROR: KASAN: slab-use-after-free in ipvlan_get_iflink+0x84/0x88 drivers/net/ipvlan/ipvlan_main.c:353 Read of size 4 at addr ffff0000d768c0e0 by task kworker/u8:35/6944 CPU: 0 UID: 0 PID: 6944 Comm: kworker/u8:35 Not tainted 6.13.0-rc2-g9bc5c9515b48 #12 4c3cb9e8b4565456f6a355f312ff91f4f29b3c47 Hardware name: linux,dummy-virt (DT) Workqueue: events_unbound linkwatch_event Call trace: show_stack+0x38/0x50 arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xbc/0x108 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x16c/0x6f0 mm/kasan/report.c:489 kasan_report+0xc0/0x120 mm/kasan/report.c:602 __asan_report_load4_noabort+0x20/0x30 mm/kasan/report_generic.c:380 ipvlan_get_iflink+0x84/0x88 drivers/net/ipvlan/ipvlan_main.c:353 dev_get_iflink+0x7c/0xd8 net/core/dev.c:674 default_operstate net/core/link_watch.c:45 [inline] rfc2863_policy+0x144/0x360 net/core/link_watch.c:72 linkwatch_do_dev+0x60/0x228 net/core/link_watch.c:175 __linkwatch_run_queue+0x2f4/0x5b8 net/core/link_watch.c:239 linkwatch_event+0x64/0xa8 net/core/link_watch.c:282 process_one_work+0x700/0x1398 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x8c4/0xe10 kernel/workqueue.c:3391 kthread+0x2b0/0x360 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 Allocated by task 9303: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x30/0x68 mm/kasan/common.c:68 kasan_save_alloc_info+0x44/0x58 mm/kasan/generic.c:568 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x84/0xa0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4283 [inline] __kmalloc_node_noprof+0x2a0/0x560 mm/slub.c:4289 __kvmalloc_node_noprof+0x9c/0x230 mm/util.c:650 alloc_netdev_mqs+0xb4/0x1118 net/core/dev.c:11209 rtnl_create_link+0x2b8/0xb60 net/core/rtnetlink.c:3595 rtnl_newlink_create+0x19c/0x868 net/core/rtnetlink.c:3771 __rtnl_newlink net/core/rtnetlink.c:3896 [inline] rtnl_newlink+0x122c/0x15c0 net/core/rtnetlink.c:4011 rtnetlink_rcv_msg+0x61c/0x918 net/core/rtnetlink.c:6901 netlink_rcv_skb+0x1dc/0x398 net/netlink/af_netlink.c:2542 rtnetlink_rcv+0x34/0x50 net/core/rtnetlink.c:6928 netlink_unicast_kernel net/netlink/af_netlink.c:1321 [inline] netlink_unicast+0x618/0x838 net/netlink/af_netlink.c:1347 netlink_sendmsg+0x5fc/0x8b0 net/netlink/af_netlink.c:1891 sock_sendmsg_nosec net/socket.c:711 [inline] __sock_sendmsg net/socket.c:726 [inline] __sys_sendto+0x2ec/0x438 net/socket.c:2197 __do_sys_sendto net/socket.c:2204 [inline] __se_sys_sendto net/socket.c:2200 [inline] __arm64_sys_sendto+0xe4/0x110 net/socket.c:2200 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x90/0x278 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x13c/0x250 arch/arm64/kernel/syscall.c:132 do_el0_svc+0x54/0x---truncado---
  • Vulnerabilidad en kernel de Linux (CVE-2024-57910)
    Severidad: ALTA
    Fecha de publicación: 19/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iio: light: vcnl4035: corrige la fuga de información en el búfer activado La matriz local 'buffer' se utiliza para enviar datos al espacio de usuario desde un búfer activado, pero no establece un valor inicial para el elemento de datos único, que es un u16 alineado a 8 bytes. Eso deja al menos 4 bytes sin inicializar incluso después de escribir un valor entero con regmap_read(). Inicialice la matriz a cero antes de usarla para evitar enviar información no inicializada al espacio de usuario.
  • Vulnerabilidad en kernel de Linux (CVE-2024-57911)
    Severidad: ALTA
    Fecha de publicación: 19/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iio: dummy: iio_simply_dummy_buffer: corrige la fuga de información en el búfer activado La matriz 'data' se asigna a través de kmalloc() y se utiliza para enviar datos al espacio del usuario desde un búfer activado, pero no establece valores para canales inactivos, ya que solo utiliza iio_for_each_active_channel() para asignar nuevos valores. Utilice kzalloc para la asignación de memoria para evitar enviar información no inicializada al espacio del usuario.
  • Vulnerabilidad en kernel de Linux (CVE-2024-57934)
    Severidad: MEDIA
    Fecha de publicación: 21/01/2025
    Fecha de última actualización: 03/02/2025
    En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fgraph: Agregar READ_ONCE() al acceder a fgraph_array[] En __ftrace_return_to_handler(), un bucle itera sobre los elementos fgraph_array[], que son fgraph_ops. El bucle comprueba si un elemento es un fgraph_stub para evitar usar un fgraph_stub después. Sin embargo, si el compilador vuelve a cargar fgraph_array[] después de esta comprobación, podría competir con una actualización a fgraph_array[] que introduce un fgraph_stub. Esto podría dar como resultado que se procese el stub, pero que este contenga un campo "func_hash" nulo, lo que lleva a una desreferencia de puntero NULL. Para garantizar que los gops comparados con fgraph_stub coincidan con los gops procesados ??más tarde, agregue un READ_ONCE(). Un parche similar aparece en el commit 63a8dfb ("function_graph: Agregar READ_ONCE() al acceder a fgraph_array[]").