Linux Kernel hasta 6.9-rc1 drm amdgpu_cs_wait_ioctl denegación de servicio

CVSS Puntuación meta temporalPrecio actual del exploit (≈)Puntuación de interés CTI
5.0$0-$5k0.00

Resumeninformación

Una vulnerabilidad clasificada como crítica fue encontrada en Linux Kernel hasta 6.9-rc1. Se ve afectada una función desconocida del componente drm. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esta vulnerabilidad se conoce como CVE-2024-26657. No se encuentra disponible ningún exploit. Se recomienda actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad clasificada como crítica fue encontrada en Linux Kernel hasta 6.9-rc1. La función amdgpu_cs_wait_ioctl del componente drm es afectada por esta vulnerabilidad. Por la manipulación de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esto tiene repercusión sobre la la disponibilidad. El resumen de CVE es:

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: drm/sched: corrige null-ptr-deref en la entidad init. El error se puede activar enviando un amdgpu_cs_wait_ioctl al controlador DRM AMDGPU en cualquier ASIC con contexto válido. El error fue reportado por Joonkyo Jung . Por ejemplo, el siguiente código: static void Syzkaller2(int fd) { union drm_amdgpu_ctx arg1; unión drm_amdgpu_wait_cs arg2; arg1.in.op = AMDGPU_CTX_OP_ALLOC_CTX; ret = drmIoctl(fd, 0x140106442 /* amdgpu_ctx_ioctl */, &arg1); arg2.in.handle = 0x0; arg2.in.timeout = 0x2000000000000; arg2.in.ip_type = AMD_IP_VPE /* 0x9 */; arg2->in.ip_instance = 0x0; arg2.in.ring = 0x0; arg2.in.ctx_id = arg1.out.alloc.ctx_id; drmIoctl(fd, 0xc0206449 /* AMDGPU_WAIT_CS * /, &arg2); } Se podría suponer que el ioctl AMDGPU_WAIT_CS sin trabajo enviado previamente debe devolver el error, pero la siguiente confirmación 1decbf6bb0b4dc56c9da6c5e57b994ebfc2be3aa modificó la lógica y permitió que sched_rq fuera igual a NULL. Como resultado, cuando no hay trabajo, ioctl AMDGPU_WAIT_CS devuelve éxito. El cambio corrige null-ptr-deref en la entidad init y la siguiente pila demuestra la condición de error: [+0.000007] ERROR: desreferencia del puntero NULL del kernel, dirección: 0000000000000028 [+0.007086] #PF: acceso de lectura del supervisor en modo kernel [+0.005234 ] #PF: error_code(0x0000) - página no presente [ +0.005232] PGD 0 P4D 0 [ +0.002501] Ups: 0000 [#1] PREEMPT SMP KASAN NOPTI [ +0.005034] CPU: 10 PID: 9229 Comm: amd_basic Tainted : GBWL 6.7.0+ #4 [ +0.007797] Nombre del hardware: Nombre del producto del sistema ASUS/ROG STRIX B550-F GAMING (WI-FI), BIOS 1401 03/12/2020 [ +0.009798] RIP: 0010:drm_sched_entity_init+0x2d3 /0x420 [gpu_sched] [ +0.006426] Código: 80 00 00 00 00 00 00 00 e8 1a 81 82 e0 49 89 9c 24 c0 00 00 00 4c 89 ef e8 4a 80 82 e0 49 8b 5d 00 48 8 d 7b 28 e8 3d 80 82 e0 <48> 83 7b 28 00 0f 84 28 01 00 00 4d 8d ac 24 98 00 00 00 49 8d 5c [ +0.019094] RSP: 0018:ffffc90014c1fa40 EFLAGS: 00010282 [ +0. 005237] RAX: 0000000000000001 RBX: 0000000000000000 RCX : ffffffff8113f3fa [ +0.007326] RDX: ffffbfff0a7889d RSI: 0000000000000008 RDI: ffffffff853c44e0 [ +0.007264] RBP: ffffc90014c1fa80 R08: 00000000000000 01 R09: ffffbfff0a7889c [ +0.007266] R10: ffffffff853c44e7 R11: 0000000000000001 R12: ffff8881a719b010 [ +0.007263] R13: ffff88810d412748 R14: 0000000000000002 R15: 0000000000000000 [ +0.007264] FS: 00007ffff7045540(0000) GS:ffff8883cc900000(0000) knlGS:0000000000000000 [ +0.00823 6] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.005851] CR2: 0000000000000028 CR3: 000000011912e000 CR4 : 0000000000350ef0 [ +0.007175] Seguimiento de llamadas: [ +0.002561] [ +0.002141] ? show_regs+0x6a/0x80 [+0.003473]? __die+0x25/0x70 [ +0.003124] ? page_fault_oops+0x214/0x720 [+0.004179]? preempt_count_sub+0x18/0xc0 [+0.004093]? __pfx_page_fault_oops+0x10/0x10 [ +0.004590] ? srso_return_thunk+0x5/0x5f [+0.004000]? vprintk_default+0x1d/0x30 [+0.004063]? srso_return_thunk+0x5/0x5f [+0.004087]? vprintk+0x5c/0x90 [ +0.003296] ? drm_sched_entity_init+0x2d3/0x420 [gpu_sched] [+0.005807]? srso_return_thunk+0x5/0x5f [+0.004090]? _printk+0xb3/0xe0 [ +0.003293] ? __pfx__printk+0x10/0x10 [ +0.003735] ? asm_sysvec_apic_timer_interrupt+0x1b/0x20 [+0.005482]? do_user_addr_fault+0x345/0x770 [ +0.004361] ? exc_page_fault+0x64/0xf0 [+0.003972]? asm_exc_page_fault+0x27/0x30 [+0.004271]? add_taint+0x2a/0xa0 [ +0.003476] ? drm_sched_entity_init+0x2d3/0x420 [gpu_sched] [ +0.005812] amdgpu_ctx_get_entity+0x3f9/0x770 [amdgpu] [ +0.009530] ? terminar_task_switch.isra.0+0x129/0x470 [+0.005068]? __pfx_amdgpu_ctx_get_entity+0x10/0x10 [amdgpu] [ +0.010063] ? __kasan_check_write+0x14/0x20 [ +0.004356] ? srso_return_thunk+0x5/0x5f [+0.004001]? mutex_unlock+0x81/0xd0 [+0.003802]? srso_return_thunk+0x5/0x5f [ +0.004096] amdgpu_cs_wait_ioctl+0xf6/0x270 [amdgpu] [ +0.009355] ? __pfx_ ---truncado---

El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2024-26657. Es difícil de explotar. Detalles técnicos son conocidos, pero no hay ningún exploit público disponible.

Para el scanner Nessus se dispone de un plugin ID 250062 (Linux Distros Unpatched Vulnerability : CVE-2024-26657), que puede ayudar a determinar la existencia del riesgo analizado.

Una actualización a la versión 6.9-rc2 elimina esta vulnerabilidad. Aplicando el parche f34e8bb7d6c6 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 la base de datos Tenable (250062). If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Productoinformación

Escribe

Proveedor

Nombre

Versión

Licencia

Sitio web

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 5.1
VulDB Puntuación meta temporal: 5.0

VulDB Puntuación base: 4.8
VulDB Puntuación temporal: 4.6
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 5.5
NVD Vector: 🔍

CVSSv2información

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplejidadAutenticaciónConfidencialidadIntegridadDisponibilidad
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍

Explotacióninformación

Clase: Denegación de servicio
CWE: CWE-476 / CWE-404
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-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Nessus ID: 250062
Nessus Nombre: Linux Distros Unpatched Vulnerability : CVE-2024-26657

Inteligencia de amenazasinformación

Interés: 🔍
Actores activos: 🔍
Grupos APT activos: 🔍

Contramedidasinformación

Recomendación: Actualización
Estado: 🔍

Hora de 0 días: 🔍

Actualización: Kernel 6.9-rc2
Parche: f34e8bb7d6c6

Línea de tiempoinformación

2024-02-19 🔍
2024-04-02 +42 días 🔍
2024-04-02 +0 días 🔍
2025-08-17 +502 días 🔍

Fuentesinformación

Proveedor: kernel.org

Aviso: git.kernel.org
Estado: Confirmado

CVE: CVE-2024-26657 (🔍)
GCVE (CVE): GCVE-0-2024-26657
GCVE (VulDB): GCVE-100-258965

Artículoinformación

Fecha de creación: 2024-04-02 09:43
Actualizado: 2025-08-17 15:55
Cambios: 2024-04-02 09:43 (58), 2025-01-07 21:59 (13), 2025-08-17 15:55 (2)
Completo: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Discusión

Sin comentarios aún. Idiomas: es + pt + en.

Por favor, inicie sesión para comentar.

Interested in the pricing of exploits?

See the underground prices here!