Linux Kernel hasta 6.15.4 riscv put_user desbordamiento de búfer

| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 6.6 | $0-$5k | 0.00 |
Resumen
Una vulnerabilidad clasificada como crítica fue encontrada en Linux Kernel hasta 6.15.4. Resulta afectada una función desconocida dentro del componente riscv. La alteración resulta en desbordamiento de búfer. La vulnerabilidad es identificada como CVE-2025-38261. No existe ningún exploit disponible. El mejor modo sugerido para mitigar el problema es actualizar a la última versión.
Detalles
Una vulnerabilidad clasificada como crítica ha sido encontrada en Linux Kernel hasta 6.15.4. La función put_user del componente riscv es afectada por esta vulnerabilidad. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Esto tiene repercusión sobre la confidencialidad, integridad y disponibilidad. CVE resume:
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: riscv: guardar el estado SR_SUM durante los cambios Cuando se cambian los subprocesos o las tareas, debemos asegurarnos de que se guarde el estado SR_SUM de la ejecución anterior y que el nuevo subproceso tenga el estado SR_SUM anterior restaurado. El problema se observó bajo carga pesada, especialmente con la herramienta syz-stress ejecutándose, con fallos como los siguientes en schedule_tail: No se puede manejar el acceso del kernel a la memoria del usuario sin rutinas uaccess en la dirección virtual 000000002749f0d0 Oops [#1] Módulos vinculados: CPU: 1 PID: 4875 Comm: syz-executor.0 No contaminado 5.12.0-rc2-syzkaller-00467-g0d7588ab9ef9 #0 Nombre del hardware: riscv-virtio,qemu (DT) epc : schedule_tail+0x72/0xb2 kernel/sched/core.c:4264 ra : task_pid_vnr include/linux/sched.h:1421 [inline] ra : schedule_tail+0x70/0xb2 kernel/sched/core.c:4264 epc: ffffffe00008c8b0 ra: ffffffe00008c8ae sp: ffffffe025d17ec0 gp: ffffffe005d25378 tp: ffffffe00f0d0000 t0: 0000000000000000 t1: 0000000000000001 t2: 00000000000f4240 s0: ffffffe025d17ee0 s1: 000000002749f0d0 a0: 00000000000002a a1: 000000000000003 a2: 1ffffffc0cfac500 a3: ffffffe0000c80cc a4: 5ae9db91c19bbe00 a5: 0000000000000000 a6: 0000000000f00000 a7: ffffffe000082eba s2: 0000000000040000 s3: ffffffe00eef96c0 s4: ffffffe022c77fe0 s5: 0000000000004000 s6: ffffffe067d74e00 s7: ffffffe067d74850 s8: ffffffe067d73e18 s9: ffffffe067d74e00 s10: ffffffe00eef96e8 s11: 000000ae6cdf8368 t3 : 5ae9db91c19bbe00 t4 : ffffffc4043cafb2 t5 : ffffffc4043cafba t6 : 0000000000040000 estado: 0000000000000120 dirección incorrecta: 000000002749f0d0 causa: 000000000000000f Seguimiento de llamadas: [] schedule_tail+0x72/0xb2 kernel/sched/core.c:4264 [] ret_from_exception+0x0/0x14 Volcando buffer ftrace: (ftrace buffer vacío) ---[ fin de seguimiento b5f8f9231dc87dda ]--- El problema proviene de put_user() en schedule_tail (kernel/sched/core.c) que hace lo siguiente: asmlinkage __visible void schedule_tail(struct task_struct *prev) { ... if (current->set_child_tid) put_user(task_pid_vnr(current), current->set_child_tid); ... } la macro put_user() hace que la secuencia de código salga de la siguiente manera: 1: __enable_user_access() 2: reg = task_pid_vnr(current); 3: *current->set_child_tid = reg; 4: __disable_user_access(). El problema radica en que podríamos tener una función inactiva como argumento que podría borrar SR_SUM, causando el pánico mencionado. Esto se solucionó evaluando el argumento de la macro put_user() fuera de la sección habilitada por el usuario en el commit 285a76bb2cf5 ("riscv: evaluar el argumento put_user() antes de habilitar el acceso del usuario"). Para que riscv aproveche las macros unsafe_get/put_XXX() y evite el mismo problema que tuvimos con put_user() y las funciones inactivas, debemos asegurar que el flujo de código pueda pasar por switch_to() desde una región de código con SR_SUM habilitado y regresar con SR_SUM aún habilitado. Este parche soluciona el problema, lo que permitirá que en trabajos futuros se habilite el uso completo de las macros unsafe_get/put_XXX() sin necesidad de aplicar un coste de cambio de bit CSR en cada acceso. Haga que switch_to() guarde y restaure SR_SUM.El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2025-38261. Se considera fácil de explotar. Hay detalles técnicos conocidos, pero no se dispone de un exploit.
Para el scanner Nessus se dispone de un plugin ID 271193 (Ubuntu 24.04 LTS / 25.04 : Linux kernel (Azure) vulnerabilities (USN-7834-1)), que puede ayudar a determinar la existencia del riesgo analizado.
Una actualización a la versión 6.15.5 o 6.16-rc1 elimina esta vulnerabilidad. Aplicando el parche 69ea599a8dab93a620c92c255be4239a06290a77/788aa64c01f1262310b4c1fb827a36df170d86ea es posible eliminar el problema. El parche puede ser descargado de git.kernel.org. El mejor modo sugerido para mitigar el problema es Actualización.
La vulnerabilidad también está documentado en las bases de datos Tenable (271193), EUVD (EUVD-2025-20800) y CERT Bund (WID-SEC-2025-1517). VulDB is the best source for vulnerability data and more expert information about this specific topic.
Afectado
- Debian Linux
- Google Cloud Platform
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- IBM QRadar SIEM
- SUSE openSUSE
- NetApp ActiveIQ Unified Manager
- Dell Avamar
- Open Source Linux Kernel
- Dell NetWorker
- Dell Secure Connect Gateway
Producto
Escribe
Proveedor
Nombre
Versión
Licencia
Sitio web
- Proveedor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Confiabilidad: 🔍
CVSSv3
VulDB Puntuación meta base: 6.8VulDB Puntuación meta temporal: 6.6
VulDB Puntuación base: 8.0
VulDB Puntuación temporal: 7.6
VulDB Vector: 🔒
VulDB Confiabilidad: 🔍
NVD Puntuación base: 5.5
NVD Vector: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complejidad | Autenticación | Confidencialidad | Integridad | Disponibilidad |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Puntuación base: 🔒
VulDB Puntuación temporal: 🔒
VulDB Confiabilidad: 🔍
Explotación
Clase: Desbordamiento de búferCWE: CWE-120 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Físico: En parte
Local: Sí
Remoto: En parte
Disponibilidad: 🔒
Estado: No está definido
EPSS Score: 🔒
EPSS Percentile: 🔒
Predicción de precios: 🔍
Estimación del precio actual: 🔒
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoy | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Nessus ID: 271193
Nessus Nombre: Ubuntu 24.04 LTS / 25.04 : Linux kernel (Azure) vulnerabilities (USN-7834-1)
Inteligencia de amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
Hora de 0 días: 🔒
Actualización: Kernel 6.15.5/6.16-rc1
Parche: 69ea599a8dab93a620c92c255be4239a06290a77/788aa64c01f1262310b4c1fb827a36df170d86ea
Línea de tiempo
2025-04-16 CVE asignado2025-07-09 Aviso publicado
2025-07-09 Entrada de VulDB creada
2026-05-02 Última actualización de VulDB
Fuentes
Proveedor: kernel.orgAviso: git.kernel.org
Estado: Confirmado
CVE: CVE-2025-38261 (🔒)
GCVE (CVE): GCVE-0-2025-38261
GCVE (VulDB): GCVE-100-315784
EUVD: 🔒
CERT Bund: WID-SEC-2025-1517 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service
Artículo
Fecha de creación: 2025-07-09 14:02Actualizado: 2026-05-02 16:05
Cambios: 2025-07-09 14:02 (59), 2025-07-09 14:44 (1), 2025-08-23 08:09 (7), 2025-09-28 11:58 (1), 2025-10-24 11:08 (2), 2025-11-02 23:42 (1), 2025-11-21 05:49 (13), 2026-01-30 22:54 (1), 2026-05-02 16:05 (1)
Completo: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Sin comentarios aún. Idiomas: es + pt + en.
Por favor, inicie sesión para comentar.