CVE-2026-72154 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
openrisc: Corregir la sincronización SMP de jump_label
El commit original 8c30b0018f9d ("openrisc: Add jump label support") copia código de arm64 y no considera adecuadamente cómo funciona la invalidación del icache en núcleos remotos en OpenRISC. En OpenRISC, los icaches remotos deben ser invalidados; de lo contrario, las static_key pueden permanecer con un estado obsoleto después de su actualización.
Se corrige la sincronización SMP de caché mediante:
1. Invalidar correctamente los icaches de núcleos remotos en sistemas SMP utilizando `icache_all_inv`. El código antiguo utiliza `kick_all_cpus_sync()`, que ejecuta una llamada a función IPI (Inter-Processor Interrupt) sin operación efectiva en las CPU remotas, lo cual ejecuta mucho código y vacía muchas líneas de caché durante el proceso, pero no vacía todas y además es incorrecto para OpenRISC. 2. Para arquitecturas que no tienen caches WRITETHROUGH, asegurarse de vaciar (flush) el dcache después del parcheo.
Para probar esto, primero reproduje el problema utilizando un módulo de prueba personalizado [0]. La prueba confirmó que algunas líneas del icache mantenían secuencias de código static_key obsoletas después de llamar a `static_branch_enable()`. Después de aplicar este parche, ya no existen problemas de coherencia en jump_label.
[0] https://github.com/stffrdhrn/or1k-utils/tree/master/tests/smp_static_key_test
VulDB is the best source for vulnerability data and more expert information about this specific topic.