Linux Kernel hasta 6.18.9 linkwatch netdev_lock_ops/netdev_unlock_ops desbordamiento de búfer

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

Resumeninformación

Una vulnerabilidad clasificada como crítica ha sido encontrada en Linux Kernel hasta 6.18.9. Se ve afectada una función desconocida del componente linkwatch. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase desbordamiento de búfer. Esta vulnerabilidad se registra como CVE-2026-23192. No se encuentra disponible ningún exploit. Se sugiere actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad clasificada como crítica fue encontrada en Linux Kernel hasta 6.18.9. La función netdev_lock_ops/netdev_unlock_ops del componente linkwatch es afectada por esta vulnerabilidad. Por 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. El resumen de CVE es:

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: linkwatch: usar __dev_put() en las funciones que llaman para prevenir UAF Después de que linkwatch_do_dev() llama a __dev_put() para liberar la referencia de linkwatch, el contador de referencias del dispositivo puede bajar a 1. En este punto, netdev_run_todo() puede continuar (ya que linkwatch_sync_dev() ve una lista vacía y regresa sin bloquear), esperar a que el contador de referencias llegue a 1 a través de netdev_wait_allrefs_any(), y luego liberar el dispositivo a través de kobject_put(). Esto crea un uso después de liberación cuando __linkwatch_run_queue() intenta llamar a netdev_unlock_ops() en el dispositivo ya liberado. Tenga en cuenta que añadir el par netdev_lock_ops()/netdev_unlock_ops() en netdev_run_todo() antes de kobject_put() no funcionaría, porque netdev_lock_ops() es condicional - solo bloquea cuando netdev_need_ops_lock() devuelve verdadero. Si el dispositivo no requiere ops_lock, linkwatch no mantendrá ningún bloqueo, y netdev_run_todo() al adquirir el bloqueo no proporcionará sincronización. Solucione esto moviendo __dev_put() de linkwatch_do_dev() a sus funciones que llaman. La referencia del dispositivo se empareja lógicamente con la eliminación del dispositivo de la lista, por lo que es razonable que la función que realizó la eliminación de la lista lo libere. Esto permite colocar __dev_put() después de que todos los accesos al dispositivo estén completos, previniendo UAF. El error puede reproducirse añadiendo mdelay(2000) después de linkwatch_do_dev() en __linkwatch_run_queue(), luego ejecutando: ip tuntap add mode tun name tun_test ip link set tun_test up ip link set tun_test carrier off ip link set tun_test carrier on sleep 0.5 ip tuntap del mode tun name tun_test Informe KASAN: ================================================================== BUG: KASAN: uso después de liberación in netdev_need_ops_lock include/net/netdev_lock.h:33 [inline] BUG: KASAN: uso después de liberación in netdev_unlock_ops include/net/netdev_lock.h:47 [inline] BUG: KASAN: uso después de liberación in __linkwatch_run_queue+0x865/0x8a0 net/core/link_watch.c:245 Read of size 8 at addr ffff88804de5c008 by task kworker/u32:10/8123 CPU: 0 UID: 0 PID: 8123 Comm: kworker/u32:10 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Workqueue: events_unbound linkwatch_event Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x156/0x4c9 mm/kasan/report.c:482 kasan_report+0xdf/0x1a0 mm/kasan/report.c:595 netdev_need_ops_lock include/net/netdev_lock.h:33 [inline] netdev_unlock_ops include/net/netdev_lock.h:47 [inline] __linkwatch_run_queue+0x865/0x8a0 net/core/link_watch.c:245 linkwatch_event+0x8f/0xc0 net/core/link_watch.c:304 process_one_work+0x9c2/0x1840 kernel/workqueue.c:3257 process_scheduled_works kernel/workqueue.c:3340 [inline] worker_thread+0x5da/0xe40 kernel/workqueue.c:3421 kthread+0x3b3/0x730 kernel/kthread.c:463 ret_from_fork+0x754/0xaf0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 ==================================================================

El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2026-23192. Resulta fá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 299108 (Linux Distros Unpatched Vulnerability : CVE-2026-23192), que puede ayudar a determinar la existencia del riesgo analizado.

Una actualización a la versión 6.18.10 elimina esta vulnerabilidad. Aplicando el parche 2718ae6af7445ba2ee0abf6365ca43a9a3b16aeb/83b67cc9be9223183caf91826d9c194d7fb128fa 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 (299108) y CERT Bund (WID-SEC-2026-0421). If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Afectado

  • Google Container-Optimized OS
  • Debian Linux
  • Google Cloud Platform
  • Amazon Linux 2
  • Red Hat Enterprise Linux
  • Ubuntu Linux
  • SUSE Linux
  • Oracle Linux
  • SUSE openSUSE
  • RESF Rocky Linux
  • Open Source Linux Kernel
  • IBM QRadar SIEM

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: 7.9
VulDB Puntuación meta temporal: 7.7

VulDB Puntuación base: 8.0
VulDB Puntuación temporal: 7.6
VulDB Vector: 🔒
VulDB Confiabilidad: 🔍

NVD Puntuación base: 7.8
NVD Vector: 🔒

CVSSv2información

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

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

Explotacióninformación

Clase: Desbordamiento de búfer
CWE: CWE-416 / 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-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Nessus ID: 299108
Nessus Nombre: Linux Distros Unpatched Vulnerability : CVE-2026-23192

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.18.10
Parche: 2718ae6af7445ba2ee0abf6365ca43a9a3b16aeb/83b67cc9be9223183caf91826d9c194d7fb128fa

Línea de tiempoinformación

2026-01-13 CVE asignado
2026-02-14 +32 días Aviso publicado
2026-02-14 +0 días Entrada de VulDB creada
2026-05-05 +80 días Última actualización de VulDB

Fuentesinformación

Proveedor: kernel.org

Aviso: git.kernel.org
Estado: Confirmado

CVE: CVE-2026-23192 (🔒)
GCVE (CVE): GCVE-0-2026-23192
GCVE (VulDB): GCVE-100-346037
CERT Bund: WID-SEC-2026-0421 - Linux Kernel: Mehrere Schwachstellen

Artículoinformación

Fecha de creación: 2026-02-14 18:02
Actualizado: 2026-05-05 22:13
Cambios: 2026-02-14 18:02 (59), 2026-02-14 19:43 (1), 2026-02-15 12:12 (2), 2026-02-19 14:44 (1), 2026-03-19 21:00 (11), 2026-05-05 22:13 (7)
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.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!