Vulnerabilidad en kernel de Linux (CVE-2025-38525)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
16/08/2025
Última modificación:
18/08/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: rxrpc: Se corrige la inhabilitación de irq en local_bh_enable(). La función rxrpc_assess_MTU_size() realiza una llamada a la capa IP para determinar el tamaño de MTU de una ruta. Al aceptar una llamada entrante, se realiza una llamada desde rxrpc_new_incoming_call(), que mantiene las interrupciones deshabilitadas en el código que la realiza. Desafortunadamente, la capa IP usa local_bh_enable() que, dependiendo de la configuración, lanza una advertencia si las IRQ están habilitadas: WARNING: CPU: 1 PID: 5544 at kernel/softirq.c:387 __local_bh_enable_ip+0x43/0xd0 ... RIP: 0010:__local_bh_enable_ip+0x43/0xd0 ... Call Trace: rt_cache_route+0x7e/0xa0 rt_set_nexthop.isra.0+0x3b3/0x3f0 __mkroute_output+0x43a/0x460 ip_route_output_key_hash+0xf7/0x140 ip_route_output_flow+0x1b/0x90 rxrpc_assess_MTU_size.isra.0+0x2a0/0x590 rxrpc_new_incoming_peer+0x46/0x120 rxrpc_alloc_incoming_call+0x1b1/0x400 rxrpc_new_incoming_call+0x1da/0x5e0 rxrpc_input_packet+0x827/0x900 rxrpc_io_thread+0x403/0xb60 kthread+0x2f7/0x310 ret_from_fork+0x2a/0x230 ret_from_fork_asm+0x1a/0x30 ... hardirqs last enabled at (23): _raw_spin_unlock_irq+0x24/0x50 hardirqs last disabled at (24): _raw_read_lock_irq+0x17/0x70 softirqs last enabled at (0): copy_process+0xc61/0x2730 softirqs last disabled at (25): rt_add_uncached_list+0x3c/0x90. Para solucionar esto, mueva la llamada a rxrpc_assess_MTU_size() fuera de rxrpc_init_peer() y a una posición más alta en la pila, donde pueda realizarse sin interrupciones deshabilitadas. No debería ser un problema para rxrpc_new_incoming_call() realizarlo después de que se eliminen los bloqueos, ya que pmtud lo realizará el hilo de E/S (y en este momento estamos en el hilo de E/S).