Vulnerabilidad en Linux (CVE-2026-46250)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
03/06/2026
Última modificación:
22/07/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
MIPS: Solución alternativa para el error de LLVM cuando gp se usa como variable de registro global<br />
<br />
En MIPS, __current_thread_info se define como una variable de registro global ubicada en $gp, y simplemente se le asigna una nueva dirección durante la reubicación del kernel.<br />
<br />
Esto, sin embargo, se rompe con LLVM, que siempre restaura $gp si encuentra que $gp ha sido sobrescrito de alguna forma, incluso cuando es intencionalmente a través de una variable de registro global. Esto va en contra de la documentación de GCC[1], que requiere que un registro guardado por la función llamada, utilizado como variable de registro global, no sea restaurado si ha sido sobrescrito.<br />
<br />
Como resultado, $gp continuará apuntando al kernel no reubicado después del epílogo de relocate_kernel(), lo que lleva a un fallo temprano en init_idle,<br />
<br />
[ 0.000000] CPU 0 No se puede manejar la solicitud de paginación del kernel en la dirección virtual 0000000000000000, epc == ffffffff81afada8, ra == ffffffff81afad90<br />
[ 0.000000] Oops[#1]:<br />
[ 0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Tainted: G W 6.19.0-rc5-00262-gd3eeb99bbc99-dirty #188 VOLUNTARY<br />
[ 0.000000] Tainted: [W]=WARN<br />
[ 0.000000] Nombre del hardware: loongson,loongson64v-4core-virtio<br />
[ 0.000000] $ 0 : 0000000000000000 0000000000000000 0000000000000001 0000000000000000<br />
[ 0.000000] $ 4 : ffffffff80b80ec0 ffffffff80b53d48 0000000000000000 00000000000f4240<br />
[ 0.000000] $ 8 : 0000000000000100 ffffffff81d82f80 ffffffff81d82f80 0000000000000001<br />
[ 0.000000] $12 : 0000000000000000 ffffffff81776f58 00000000000005da 0000000000000002<br />
[ 0.000000] $16 : ffffffff80b80e40 0000000000000000 ffffffff80b81614 9800000005dfbe80<br />
[ 0.000000] $20 : 00000000540000e0 ffffffff81980000 0000000000000000 ffffffff80f81c80<br />
[ 0.000000] $24 : 0000000000000a26 ffffffff8114fb90<br />
[ 0.000000] $28 : ffffffff80b50000 ffffffff80b53d40 0000000000000000 ffffffff81afad90<br />
[ 0.000000] Hi : 0000000000000000<br />
[ 0.000000] Lo : 0000000000000000<br />
[ 0.000000] epc : ffffffff81afada8 init_idle+0x130/0x270<br />
[ 0.000000] ra : ffffffff81afad90 init_idle+0x118/0x270<br />
[ 0.000000] Status: 540000e2 KX SX UX KERNEL EXL<br />
[ 0.000000] Cause : 00000008 (ExcCode 02)<br />
[ 0.000000] BadVA : 0000000000000000<br />
[ 0.000000] PrId : 00006305 (ICT Loongson-3)<br />
[ 0.000000] Proceso swapper (pid: 0, threadinfo=(____ptrval____), task=(____ptrval____), tls=0000000000000000)<br />
[ 0.000000] Pila : 9800000005dfbf00 ffffffff8178e950 0000000000000000 0000000000000000<br />
[ 0.000000] 0000000000000000 ffffffff81970000 000000000000003f ffffffff810a6528<br />
[ 0.000000] 0000000000000001 9800000005dfbe80 9800000005dfbf00 ffffffff81980000<br />
[ 0.000000] ffffffff810a6450 ffffffff81afb6c0 0000000000000000 ffffffff810a2258<br />
[ 0.000000] ffffffff81d82ec8 ffffffff8198d010 ffffffff81b67e80 ffffffff8197dd98<br />
[ 0.000000] ffffffff81d81c80 ffffffff81930000 0000000000000040 0000000000000000<br />
[ 0.000000] 0000000000000000 0000000000000000 0000000000000000 0000000000000000<br />
[ 0.000000] 0000000000000000 000000000000009e ffffffff9fc01000 0000000000000000<br />
[ 0.000000] 0000000000000000 0000000000000000 0000000000000000 0000000000000000<br />
[ 0.000000] 0000000000000000 ffffffff81ae86dc ffffffff81b3c741 0000000000000002<br />
[ 0.000000] ...<br />
[ 0.000000] Rastro de llamadas:<br />
[ 0.000000] [] init_idle+0x130/0x270<br />
[ 0.000000] [] sched_init+0x5c8/0x6c0<br />
[ 0.000000] [] start_kernel+0x27c/0x7a8<br />
<br />
Este error ha sido reportado a LLVM[2] y afecta a las versiones desde (al menos) la 18 hasta la 21. Evitemos esto usando ensamblador en línea para asignar $gp antes de que una solución esté ampliamente disponible.
Impacto
Puntuación base 3.x
7.30
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.7 (incluyendo) | 5.10.252 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.202 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.165 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.128 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.75 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.14 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 6.19.4 (excluyendo) |
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/05bff9b0ae095b2420cfebb4a96759a09334bec6
- https://git.kernel.org/stable/c/1fe3b402b1e97a1718df3be0a1d3eee20133e735
- https://git.kernel.org/stable/c/30bfc2d6a1132a89a5f1c3b96c59cf3e4d076ea3
- https://git.kernel.org/stable/c/4dc65b40fb80c2020efbf139b9a38d30f9a37b92
- https://git.kernel.org/stable/c/561834f6d6f52b8a1791331e94b2aac753491d2a
- https://git.kernel.org/stable/c/9bc3b0ae5203aba650297fdf3e1e774125e423f2
- https://git.kernel.org/stable/c/c0155dee51b9f5f48aaf5c71cae005eb0e36521f
- https://git.kernel.org/stable/c/e3a6498a63394218561065a9a7a597a204f52f6a



