Vulnerabilidad en Linux (CVE-2025-71132)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
14/01/2026
Última modificación:
25/03/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
smc91x: corregir el contexto de IRQ roto en PREEMPT_RT<br />
<br />
Cuando smc91x.c se compila con PREEMPT_RT, ocurre el siguiente &#39;splat&#39; en FVP_RevC:<br />
<br />
[ 13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000<br />
[ 13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106]<br />
[ 13.062137] preempt=0x00000000 lock=0-&gt;0 RCU=0-&gt;1 workfn=mld_ifc_work<br />
[ 13.062266] C<br />
replaying previous printk message <br />
[ 13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)}<br />
[ 13.062353] Hardware name: , BIOS<br />
[ 13.062382] Workqueue: mld mld_ifc_work<br />
[ 13.062469] Call trace:<br />
[ 13.062494] show_stack+0x24/0x40 (C)<br />
[ 13.062602] __dump_stack+0x28/0x48<br />
[ 13.062710] dump_stack_lvl+0x7c/0xb0<br />
[ 13.062818] dump_stack+0x18/0x34<br />
[ 13.062926] process_scheduled_works+0x294/0x450<br />
[ 13.063043] worker_thread+0x260/0x3d8<br />
[ 13.063124] kthread+0x1c4/0x228<br />
[ 13.063235] ret_from_fork+0x10/0x20<br />
<br />
Esto ocurre porque smc_special_trylock() deshabilita las IRQ incluso en PREEMPT_RT, pero smc_special_unlock() no restaura las IRQ en PREEMPT_RT.<br />
La razón es que smc_special_unlock() llama a spin_unlock_irqrestore(), y rcu_read_unlock_bh() en __dev_queue_xmit() no puede invocar a rcu_read_unlock() a través de __local_bh_enable_ip() cuando current-&gt;softirq_disable_cnt se vuelve cero.<br />
<br />
Para abordar este problema, reemplace smc_special_trylock() con spin_trylock_irqsave().
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.1 (incluyendo) | 5.15.198 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.160 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.120 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.64 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.4 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:5.15:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/1c4cb705e733250d13243f6a69b8b5a92e39b9f6
- https://git.kernel.org/stable/c/36561b86cb2501647662cfaf91286dd6973804a6
- https://git.kernel.org/stable/c/6402078bd9d1ed46e79465e1faaa42e3458f8a33
- https://git.kernel.org/stable/c/9d222141b00156509d67d80c771fbefa92c43ace
- https://git.kernel.org/stable/c/b6018d5c1a8f09d5efe4d6961d7ee45fdf3a7ce3
- https://git.kernel.org/stable/c/ef277ae121b3249c99994652210a326b52d527b0



