Vulnerabilidad en Linux (CVE-2026-23055)
Fecha de publicación:
04/02/2026
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
i2c: riic: Mover el manejo de suspensión a la fase NOIRQ<br />
<br />
El commit 53326135d0e0 (&#39;i2c: riic: Añadir soporte de suspensión/reanudación&#39;) añadió soporte de suspensión para el controlador I2C de Renesas y, tras este cambio en RZ/G3E, se observa la siguiente ADVERTENCIA al entrar en suspensión...<br />
<br />
[ 134.275704] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)<br />
[ 134.285536] ------------[ cut here ]------------<br />
[ 134.290298] i2c i2c-2: Transfer while suspended<br />
[ 134.295174] WARNING: drivers/i2c/i2c-core.h:56 at __i2c_smbus_xfer+0x1e4/0x214, CPU#0: systemd-sleep/388<br />
[ 134.365507] Tainted: [W]=WARN<br />
[ 134.368485] Hardware name: Renesas SMARC EVK version 2 based on r9a09g047e57 (DT)<br />
[ 134.375961] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)<br />
[ 134.382935] pc : __i2c_smbus_xfer+0x1e4/0x214<br />
[ 134.387329] lr : __i2c_smbus_xfer+0x1e4/0x214<br />
[ 134.391717] sp : ffff800083f23860<br />
[ 134.395040] x29: ffff800083f23860 x28: 0000000000000000 x27: ffff800082ed5d60<br />
[ 134.402226] x26: 0000001f4395fd74 x25: 0000000000000007 x24: 0000000000000001<br />
[ 134.409408] x23: 0000000000000000 x22: 000000000000006f x21: ffff800083f23936<br />
[ 134.416589] x20: ffff0000c090e140 x19: ffff0000c090e0d0 x18: 0000000000000006<br />
[ 134.423771] x17: 6f63657320313030 x16: 2e30206465737061 x15: ffff800083f23280<br />
[ 134.430953] x14: 0000000000000000 x13: ffff800082b16ce8 x12: 0000000000000f09<br />
[ 134.438134] x11: 0000000000000503 x10: ffff800082b6ece8 x9 : ffff800082b16ce8<br />
[ 134.445315] x8 : 00000000ffffefff x7 : ffff800082b6ece8 x6 : 80000000fffff000<br />
[ 134.452495] x5 : 0000000000000504 x4 : 0000000000000000 x3 : 0000000000000000<br />
[ 134.459672] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c9ee9e80<br />
[ 134.466851] Call trace:<br />
[ 134.469311] __i2c_smbus_xfer+0x1e4/0x214 (P)<br />
[ 134.473715] i2c_smbus_xfer+0xbc/0x120<br />
[ 134.477507] i2c_smbus_read_byte_data+0x4c/0x84<br />
[ 134.482077] isl1208_i2c_read_time+0x44/0x178 [rtc_isl1208]<br />
[ 134.487703] isl1208_rtc_read_time+0x14/0x20 [rtc_isl1208]<br />
[ 134.493226] __rtc_read_time+0x44/0x88<br />
[ 134.497012] rtc_read_time+0x3c/0x68<br />
[ 134.500622] rtc_suspend+0x9c/0x170<br />
<br />
La advertencia se activa porque aún se pueden intentar transferencias I2C mientras el controlador ya está suspendido, debido a un ordenamiento inapropiado de las retrollamadas de suspensión del sistema.<br />
<br />
Si el controlador está autosuspendido, no hay forma de despertarlo una vez que el PM en tiempo de ejecución está deshabilitado (en suspend_late()). Durante la reanudación del sistema, el controlador I2C estará disponible solo después de que el PM en tiempo de ejecución se vuelva a habilitar (en resume_early()). Sin embargo, esto puede ser demasiado tarde para algunos dispositivos.<br />
<br />
Despertar el controlador en la retrollamada suspend() mientras el PM en tiempo de ejecución aún está habilitado. El controlador I2C permanecerá disponible hasta que se llame a la retrollamada suspend_noirq() (pm_runtime_force_suspend()). Durante la reanudación, el controlador I2C puede ser restaurado por la retrollamada resume_noirq() (pm_runtime_force_resume()). Finalmente, la retrollamada resume() vuelve a habilitar la autosuspensión. Como resultado, el controlador I2C puede permanecer disponible hasta que el sistema entre en suspend_noirq() y desde resume_noirq().
Gravedad: Pendiente de análisis
Última modificación:
05/02/2026