Linux Kernel hasta 6.1.141/6.6.93/6.12.33/6.15.2 bpf lib/iov_iter.c bpf_exec_tx_verdict 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

Se ha encontrado una vulnerabilidad clasificada como crítica en Linux Kernel hasta 6.1.141/6.6.93/6.12.33/6.15.2. Está afectada una función desconocida en la librería lib/iov_iter.c en el componente bpf. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esta vulnerabilidad se conoce como CVE-2025-38166. Ningún exploit está disponible. Se recomienda actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad ha sido encontrada en Linux Kernel hasta 6.1.141/6.6.93/6.12.33/6.15.2 y clasificada como crítica. La función bpf_exec_tx_verdict en la biblioteca lib/iov_iter.c del componente bpf es afectada por esta vulnerabilidad. A través de 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. CVE resume:

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: corregir pánico ktls con sockmap [ 2172.936997] ------------[ cortar aquí ]------------ [ 2172.936999] ERROR del kernel en lib/iov_iter.c:629! ...... [ 2172.944996] PKRU: 55555554 [ 2172.945155] Rastreo de llamadas: [ 2172.945299] [ 2172.945428] ? die+0x36/0x90 [ 2172.945601] ? do_trap+0xdd/0x100 [ 2172.945795] ? iov_iter_revert+0x178/0x180 [ 2172.946031] ? iov_iter_revert+0x178/0x180 [ 2172.946267] ? do_error_trap+0x7d/0x110 [ 2172.946499] ? iov_iter_revert+0x178/0x180 [ 2172.946736] ? exc_invalid_op+0x50/0x70 [ 2172.946961] ? iov_iter_revert+0x178/0x180 [ 2172.947197] ? asm_exc_invalid_op+0x1a/0x20 [ 2172.947446] ? iov_iter_revert+0x178/0x180 [ 2172.947683] ? iov_iter_revert+0x5c/0x180 [ 2172.947913] tls_sw_sendmsg_locked.isra.0+0x794/0x840 [ 2172.948206] tls_sw_sendmsg+0x52/0x80 [ 2172.948420] ? inet_sendmsg+0x1f/0x70 [ 2172.948634] __sys_sendto+0x1cd/0x200 [ 2172.948848] ? find_held_lock+0x2b/0x80 [ 2172.949072] ? syscall_trace_enter+0x140/0x270 [ 2172.949330] ? __lock_release.isra.0+0x5e/0x170 [ 2172.949595] ? find_held_lock+0x2b/0x80 [ 2172.949817] ? syscall_trace_enter+0x140/0x270 [ 2172.950211] ? lockdep_hardirqs_on_prepare+0xda/0x190 [ 2172.950632] ? ktime_get_coarse_real_ts64+0xc2/0xd0 [ 2172.951036] __x64_sys_sendto+0x24/0x30 [ 2172.951382] do_syscall_64+0x90/0x170 ...... Después de llamar a bpf_exec_tx_verdict(), el tamaño de msg_pl->sg puede aumentar, por ejemplo, cuando el programa BPF ejecuta bpf_msg_push_data(). Si el programa BPF define cork_bytes y sg.size es menor que cork_bytes, devolverá -ENOSPC e intentará revertir a la lógica de copia no nula. Sin embargo, durante la reversión, msg->msg_iter se restablece, pero como se ha aumentado msg_pl->sg.size, las ejecuciones posteriores superarán el tamaño real de msg_iter. ''' iov_iter_revert(&msg->msg_iter, msg_pl->sg.size - orig_size); ''' Los cambios en esta confirmación se basan en las siguientes consideraciones: 1. Cuando se establece cork_bytes, revertir a la lógica de copia no nula no tiene sentido y se puede pasar directamente a la lógica de copia cero. 2. No podemos calcular el número correcto de bytes para revertir msg_iter. Supongamos que los datos originales son "abcdefgh" (8 bytes) y, tras 3 intentos del programa BPF, se convierten en datos de 11 bytes: "abc?de?fgh?". Luego, configuramos cork_bytes en 6, lo que significa que los primeros 6 bytes se han procesado y los 5 bytes restantes de "?fgh?" se almacenarán en caché hasta que la longitud cumpla con el requisito de cork_bytes. Sin embargo, algunos datos en "?fgh?" no están dentro de 'sg->msg_iter' (sino en msg_pl), especialmente los datos "?" que enviamos. Por lo tanto, no parece tan sencillo como revertir a través de un desplazamiento de msg_iter. 3. Para sockets sin TLS en tcp_bpf_sendmsg, cuando se produce una situación de "cork", la función send() en el espacio de usuario no devuelve un error y la longitud devuelta es la misma que el parámetro de longitud de entrada, incluso si algunos datos están almacenados en caché. Además, observé que la lógica actual de copia distinta de cero para gestionar el cork se escribe así: ''' línea 1177 else if (ret != -EAGAIN) { if (ret == -ENOSPC) ret = 0; goto send_end; ''' Por lo tanto, está bien simplemente devolver 'copiado' sin error cuando ocurre una situación de "corcho".

El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2025-38166. Se considera difí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 249177 (Debian dsa-5973 : affs-modules-6.1.0-37-4kc-malta-di - security update), que puede ayudar a determinar la existencia del riesgo analizado.

Una actualización a la versión 6.1.142, 6.6.94, 6.12.34, 6.15.3 o 6.16-rc1 elimina esta vulnerabilidad. Aplicando el parche 328cac3f9f8ae394748485e769a527518a9137c8/2e36a81d388ec9c3f78b6223f7eda2088cd40adb/57fbbe29e86042bbaa31c1a30d2afa16c427e3f7/603943f022a7fe5cc83ca7005faf34798fb7853f/54a3ecaeeeae8176da8badbd7d72af1017032c39 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 (249177), EUVD (EUVD-2025-19778) y CERT Bund (WID-SEC-2025-1452). If you want to get best quality of vulnerability data, you may have to visit VulDB.

Afectado

  • Google Container-Optimized OS
  • Debian Linux
  • Amazon Linux 2
  • Red Hat Enterprise Linux
  • Ubuntu Linux
  • SUSE Linux
  • Oracle Linux
  • IBM QRadar SIEM
  • SUSE openSUSE
  • RESF Rocky Linux
  • Dell Avamar
  • Open Source Linux Kernel
  • Dell NetWorker
  • Dell Secure Connect Gateway

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-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: 249177
Nessus Nombre: Debian dsa-5973 : affs-modules-6.1.0-37-4kc-malta-di - security update

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.1.142/6.6.94/6.12.34/6.15.3/6.16-rc1
Parche: 328cac3f9f8ae394748485e769a527518a9137c8/2e36a81d388ec9c3f78b6223f7eda2088cd40adb/57fbbe29e86042bbaa31c1a30d2afa16c427e3f7/603943f022a7fe5cc83ca7005faf34798fb7853f/54a3ecaeeeae8176da8badbd7d72af1017032c39

Línea de tiempoinformación

2025-04-16 CVE asignado
2025-07-03 +78 días Aviso publicado
2025-07-03 +0 días Entrada de VulDB creada
2026-04-18 +289 días Última actualización de VulDB

Fuentesinformación

Proveedor: kernel.org

Aviso: git.kernel.org
Estado: Confirmado

CVE: CVE-2025-38166 (🔒)
GCVE (CVE): GCVE-0-2025-38166
GCVE (VulDB): GCVE-100-314730
EUVD: 🔒
CERT Bund: WID-SEC-2025-1452 - Linux Kernel: Mehrere Schwachstellen

Artículoinformación

Fecha de creación: 2025-07-03 12:12
Actualizado: 2026-04-18 15:48
Cambios: 2025-07-03 12:12 (60), 2025-07-03 12:48 (1), 2025-08-13 17:40 (2), 2025-08-23 21:55 (7), 2025-09-21 22:08 (1), 2025-11-09 17:08 (1), 2025-12-06 19:02 (1), 2025-12-19 03:25 (13), 2026-04-18 15:48 (1)
Completo: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Discusión

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

Por favor, inicie sesión para comentar.

Do you know our Splunk app?

Download it now for free!