Linux Kernel bis 6.7.5 hv_netvsc netvsc_probe Race Condition

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
4.5$0-$5k0.00

Zusammenfassunginfo

In Linux Kernel bis 5.10.209/5.15.148/6.1.78/6.6.17/6.7.5 wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Betroffen hiervon ist die Funktion netvsc_probe der Komponente hv_netvsc. Mittels dem Manipulieren mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden. Die Identifikation der Schwachstelle wird mit CVE-2024-26698 vorgenommen. Es existiert kein Exploit. Ein Upgrade der betroffenen Komponente wird empfohlen.

Detailsinfo

Eine problematische Schwachstelle wurde in Linux Kernel bis 5.10.209/5.15.148/6.1.78/6.6.17/6.7.5 ausgemacht. Dies betrifft die Funktion netvsc_probe der Komponente hv_netvsc. Dank Manipulation mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-362. Wie sich eine durchgeführte Attacke auswirkt, ist soweit nicht bekannt. CVE fasst zusammen:

In the Linux kernel, the following vulnerability has been resolved: hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove In commit ac5047671758 ("hv_netvsc: Disable NAPI before closing the VMBus channel"), napi_disable was getting called for all channels, including all subchannels without confirming if they are enabled or not. This caused hv_netvsc getting hung at napi_disable, when netvsc_probe() has finished running but nvdev->subchan_work has not started yet. netvsc_subchan_work() -> rndis_set_subchannel() has not created the sub-channels and because of that netvsc_sc_open() is not running. netvsc_remove() calls cancel_work_sync(&nvdev->subchan_work), for which netvsc_subchan_work did not run. netif_napi_add() sets the bit NAPI_STATE_SCHED because it ensures NAPI cannot be scheduled. Then netvsc_sc_open() -> napi_enable will clear the NAPIF_STATE_SCHED bit, so it can be scheduled. napi_disable() does the opposite. Now during netvsc_device_remove(), when napi_disable is called for those subchannels, napi_disable gets stuck on infinite msleep. This fix addresses this problem by ensuring that napi_disable() is not getting called for non-enabled NAPI struct. But netif_napi_del() is still necessary for these non-enabled NAPI struct for cleanup purpose. Call trace: [ 654.559417] task:modprobe state:D stack: 0 pid: 2321 ppid: 1091 flags:0x00004002 [ 654.568030] Call Trace: [ 654.571221] [ 654.573790] __schedule+0x2d6/0x960 [ 654.577733] schedule+0x69/0xf0 [ 654.581214] schedule_timeout+0x87/0x140 [ 654.585463] ? __bpf_trace_tick_stop+0x20/0x20 [ 654.590291] msleep+0x2d/0x40 [ 654.593625] napi_disable+0x2b/0x80 [ 654.597437] netvsc_device_remove+0x8a/0x1f0 [hv_netvsc] [ 654.603935] rndis_filter_device_remove+0x194/0x1c0 [hv_netvsc] [ 654.611101] ? do_wait_intr+0xb0/0xb0 [ 654.615753] netvsc_remove+0x7c/0x120 [hv_netvsc] [ 654.621675] vmbus_remove+0x27/0x40 [hv_vmbus]

Das Advisory kann von git.kernel.org heruntergeladen werden. Die Identifikation der Schwachstelle findet seit dem 19.02.2024 als CVE-2024-26698 statt. Sie ist schwierig ausnutzbar. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht.

Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 207689 (RHEL 8 : kernel (RHSA-2024:6993)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.

Ein Upgrade auf die Version 5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 oder 6.8 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 9ec807e7b6f5/7656372ae190/48a8ccccffba/22a77c0f5b82/0e8875de9dad/e0526ec5360a beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.

Unter anderem wird der Fehler auch in den Datenbanken von Tenable (207689) und CERT Bund (WID-SEC-2024-0773) dokumentiert. Once again VulDB remains the best source for vulnerability data.

Betroffen

  • Debian Linux
  • Amazon Linux 2
  • Red Hat Enterprise Linux
  • Ubuntu Linux
  • SUSE Linux
  • IBM InfoSphere Guardium
  • Oracle Linux
  • NetApp FAS
  • EMC Avamar
  • Oracle VM
  • NetApp AFF
  • Dell NetWorker
  • IBM Security Guardium
  • RESF Rocky Linux
  • Open Source Linux Kernel
  • SolarWinds Security Event Manager
  • Broadcom Brocade SANnav
  • IBM Business Automation Workflow
  • IBM Spectrum Protect Plus
  • IBM QRadar SIEM
  • Juniper Junos Space
  • IBM DB2
  • IBM Storage Scale System

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 4.6
VulDB Meta Temp Score: 4.6

VulDB Base Score: 4.6
VulDB Temp Score: 4.4
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 4.7
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Race Condition
CWE: CWE-362
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Teilweise
Lokal: Ja
Remote: Teilweise

Verfügbarkeit: 🔍
Status: Nicht definiert

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 207689
Nessus Name: RHEL 8 : kernel (RHSA-2024:6993)

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: Kernel 5.10.210/5.15.149/6.1.79/6.6.18/6.7.6/6.8
Patch: 9ec807e7b6f5/7656372ae190/48a8ccccffba/22a77c0f5b82/0e8875de9dad/e0526ec5360a

Timelineinfo

19.02.2024 🔍
03.04.2024 +43 Tage 🔍
03.04.2024 +0 Tage 🔍
03.08.2025 +487 Tage 🔍

Quelleninfo

Hersteller: kernel.org

Advisory: git.kernel.org
Status: Bestätigt

CVE: CVE-2024-26698 (🔍)
GCVE (CVE): GCVE-0-2024-26698
GCVE (VulDB): GCVE-100-259172
CERT Bund: WID-SEC-2024-0773 - Linux Kernel: Mehrere Schwachstellen

Eintraginfo

Erstellt: 03.04.2024 17:27
Aktualisierung: 03.08.2025 13:53
Anpassungen: 03.04.2024 17:27 (57), 26.06.2024 21:55 (1), 30.09.2024 13:54 (3), 17.03.2025 20:43 (10), 03.08.2025 13:53 (7)
Komplett: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you want to use VulDB in your project?

Use the official API to access entries easily!