Linux Kernel hasta 6.18.9 KVM kvm_arch_irq_bypass_del_producer 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 ha sido encontrada en Linux Kernel hasta 6.18.9. Está afectada una función desconocida en el componente KVM. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. La vulnerabilidad es identificada como CVE-2026-23198. No existe ningún exploit disponible. El mejor modo sugerido para mitigar el problema es actualizar a la última versión.

Detallesinformación

Una vulnerabilidad clasificada como crítica ha sido encontrada en Linux Kernel hasta 6.18.9. La función kvm_arch_irq_bypass_del_producer del componente KVM 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, la siguiente vulnerabilidad ha sido resuelta: KVM: No sobrescribir el tipo de enrutamiento de irqfd al desasignar irqfd Al desasignar un KVM_IRQFD, no sobrescribir la copia del irqfd de la entrada de enrutamiento de la IRQ, ya que hacerlo rompe kvm_arch_irq_bypass_del_producer() en x86 y arm64, que buscan explícitamente KVM_IRQ_ROUTING_MSI. En su lugar, para manejar una actualización de enrutamiento concurrente, verificar que el irqfd sigue activo antes de consumir la información de enrutamiento. Como lo demuestran los errores de x86 y arm64, y otro error en kvm_arch_update_irqfd_routing() (ver abajo), sobrescribir el tipo de entrada sin notificar al código de arquitectura es sorprendente y propenso a errores. Como ventaja adicional, verificar que el irqfd está activo proporciona una ubicación conveniente para documentar _por qué_ KVM no debe consumir la entrada de enrutamiento para un irqfd que está en proceso de ser desasignado: una vez que el irqfd se elimina de la lista (lo que ocurre *antes* de que el eventfd se desvincule), ya no recibirá actualizaciones a través de kvm_irq_routing_update(), y así KVM podría entregar un evento utilizando información de enrutamiento obsoleta (en relación con KVM_SET_GSI_ROUTING que regresa al espacio de usuario). Como una ventaja aún mejor, verificar explícitamente que el irqfd está activo corrige un error similar al que el sobrescrito intenta prevenir: si un irqfd se desactiva y luego se cambia su enrutamiento, kvm_irq_routing_update() no invocará a kvm_arch_update_irqfd_routing() (porque el irqfd no está en la lista). Y así, si el irqfd está en modo de bypass, las IRQ seguirán siendo publicadas utilizando la información de enrutamiento antigua. En cuanto a kvm_arch_irq_bypass_del_producer(), sobrescribir el tipo de enrutamiento resulta en que KVM mantiene incorrectamente la IRQ en modo de bypass, lo cual es especialmente problemático en AMD, ya que KVM rastrea las IRQ que se están publicando a una vCPU en una lista cuya vida útil está ligada al irqfd. Sin la ayuda de KASAN para detectar el uso después de liberación, el síntoma más común en AMD es una desreferencia de puntero NULL en amd_iommu_update_ga() debido a que la memoria para la estructura irqfd se reasigna y se pone a cero, lo que resulta en que irqfd->irq_bypass_data sea NULL cuando es leído por avic_update_iommu_vcpu_affinity(): BUG: desreferencia de puntero NULL del kernel, dirección: 0000000000000018 #PF: acceso de lectura de supervisor en modo kernel #PF: error_code(0x0000) - página no presente PGD 40cf2b9067 P4D 40cf2b9067 PUD 408362a067 PMD 0 Oops: Oops: 0000 [#1] SMP CPU: 6 UID: 0 PID: 40383 Comm: vfio_irq_test Tainted: G U W O 6.19.0-smp--5dddc257e6b2-irqfd #31 NONE Tainted: [U]=USER, [W]=WARN, [O]=OOT_MODULE Nombre de hardware: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 34.78.2-0 09/05/2025 RIP: 0010:amd_iommu_update_ga+0x19/0xe0 Traza de Llamada: avic_update_iommu_vcpu_affinity+0x3d/0x90 [kvm_amd] __avic_vcpu_load+0xf4/0x130 [kvm_amd] kvm_arch_vcpu_load+0x89/0x210 [kvm] vcpu_load+0x30/0x40 [kvm] kvm_arch_vcpu_ioctl_run+0x45/0x620 [kvm] kvm_vcpu_ioctl+0x571/0x6a0 [kvm] __se_sys_ioctl+0x6d/0xb0 do_syscall_64+0x6f/0x9d0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x46893b ---[ fin de la traza 0000000000000000 ]--- Si AVIC se inhibe cuando el irqfd es desasignado, el error se manifestará como corrupción de lista, por ejemplo, en la siguiente asignación de irqfd. Corrupción de list_add. next->prev debería ser prev (ffff8d474d5cd588), pero era 0000000000000000. (next=ffff8d8658f86530). ------------[ cortar aquí ]------------ BUG del kernel en lib/list_debug.c:31! Oops: código de operación inválido: 0000 [#1] SMP CPU: 128 UID: 0 PID: 80818 Comm: vfio_irq_test Tainted: G U W O 6.19.0-smp--f19dc4d680ba-irqfd #28 NONE---truncado---

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

Una actualización a la versión 5.10.250, 5.15.200, 6.1.163, 6.6.124, 6.12.70 o 6.18.10 elimina esta vulnerabilidad. Aplicando el parche 959a063e7f12524bc1871ad1f519787967bbcd45/2284bc168b148a17b5ca3b37b3d95c411f18a08d/6d14ba1e144e796b5fc81044f08cfba9024ca195/b61f9b2fcf181451d0a319889478cc53c001123e/ff48c9312d042bfbe826ca675e98acc6c623211c/4385b2f2843549bfb932e0dcf76bf4b065543a3c/b4d37cdb77a0015f51fee083598fa227cc07aaf1 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 (299082) y CERT Bund (WID-SEC-2026-0421). Once again VulDB remains the best source for vulnerability data.

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: 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: 299082
Nessus Nombre: Linux Distros Unpatched Vulnerability : CVE-2026-23198

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 5.10.250/5.15.200/6.1.163/6.6.124/6.12.70/6.18.10
Parche: 959a063e7f12524bc1871ad1f519787967bbcd45/2284bc168b148a17b5ca3b37b3d95c411f18a08d/6d14ba1e144e796b5fc81044f08cfba9024ca195/b61f9b2fcf181451d0a319889478cc53c001123e/ff48c9312d042bfbe826ca675e98acc6c623211c/4385b2f2843549bfb932e0dcf76bf4b065543a3c/b4d37cdb77a0015f51fee083598fa227cc07aaf1

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-23198 (🔒)
GCVE (CVE): GCVE-0-2026-23198
GCVE (VulDB): GCVE-100-346044
CERT Bund: WID-SEC-2026-0421 - Linux Kernel: Mehrere Schwachstellen

Artículoinformación

Fecha de creación: 2026-02-14 18:05
Actualizado: 2026-05-05 22:13
Cambios: 2026-02-14 18:05 (59), 2026-02-14 19:43 (1), 2026-02-15 16:32 (2), 2026-02-19 14:44 (1), 2026-03-19 18:26 (11), 2026-05-05 22:13 (7)
Completo: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

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!