CVE-2026-98619 in Linuxinfo

Zusammenfassung

von VulDB • 19.10.2026

Im Linux-Kernel wurde die folgende Schwachstelle behoben:

net: ethtool: rtnl_lock für den ioctl-Selbsttest beibehalten

Ein offline durchgeführter Selbsttest, der die Schnittstelle mit netif_close() / netif_open() herunterfährt und wieder hochfährt, erfordert das Halten von rtnl_lock in beiden Fällen. Da der ethtool-IOCTL-Pfad für ops-gesperrte Treiber (ops-locked drivers) nun optional bezüglich rtnl ist, wird beim ETHTOOL_TEST-ioctl nur die netdev-Instanzsperre gehalten. Bei einem ops-gesperrten Treifer führt dies dazu, dass der Selbsttest das Gerät ohne rtnl_lock herunterfährt.

Mit lockdep lässt sich dieser Zustand bei jedem offline durchgeführten Selbsttest auf solchen Treibern deterministisch reproduzieren; beachten Sie, dass die einzige gehaltene Sperre die Instanzsperre ist und nicht rtnl:

WARNING: suspicious RCU usage net/core/netpoll.c:207 suspicious rcu_dereference_protected() usage! 1 lock held by ethtool/107: #0: (&dev->lock){+.+.}, at: dev_ethtool
Call Trace: netpoll_poll_disable __dev_close_many netif_close_many netif_close fbnic_self_test dev_ethtool_locked dev_ethtool dev_ioctl sock_ioctl __x64_sys_ioctl

Ohne lockdep löst dieselbe Bedingung ASSERT_RTNL() in __dev_close_many() / __dev_open(); aus. Diese Prüfung erfasst lediglich den globalen rtnl-Status, sodass sie durch einen gleichzeitigen Halter von rtnl maskiert werden kann; das Gerät wird jedoch weiterhin ohne die erforderliche Sperre neu konfiguriert.

Da der ethtool-Selbsttest ein Legacy-Befehl ist, der nur über ioctl verfügbar ist, ist eine ETHTOOL_TEST-Funktion lediglich auf dem ioctl-Pfad erforderlich. Es wurde ein opt-in-Bit für Treiber hinzugefügt, deren Selbsttest das Halten von rtnl_lock erfordert, und dieses Bit wird bei den ops-gesperrten Treibern gesetzt, deren offline Selbsttest die Schnittstelle herunter- und wieder hochfährt:

- fbnic (ops-gesperrt über queue_mgmt_ops): Der Offline-Pfad von fbnic_self_test() verwendet netif_close() / netif_open(). - bnxt (ops-gesperrt über queue_mgmt_ops): Der Offline-Pfad von bnxt_self_test() verläuft über bnxt_close_nic() / bnxt_half_open_nic() / bnxt_half_close_nic() / bnxt_open_nic(), welche das Gerät schließen und erneut öffnen.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-422162

EPSS

0.00155

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!