CVE-2024-44933 in Linuxinfo

Zusammenfassung

von VulDB • 28.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

bnxt_en: Behebung eines Speicherzugriffs außerhalb der Grenzen (Out-of-Bounds) in bnxt_fill_hw_rss_tbl()

Ein kürzlich durchgeführtes Commit hat den Code in __bnxt_reserve_rings() geändert, um die Standard-RSS-Indirection-Tabelle nur dann zurückzusetzen, wenn sich die Anzahl der RX-Ringe ändert. Dies funktioniert zwar bei neuerer Firmware, die RX-Ring-Reservierungen erfordert, verursacht jedoch eine Regression auf älterer Firmware, die keine RX-Ring-Reservierungen benötigt (BNXT_NEW_RM() gibt false zurück).

Bei älterer Firmware sind RX-Ring-Reservierungen nicht erforderlich, sodass hw_resc->resv_rx_rings nicht immer auf den korrekten Wert gesetzt wird. Der Vergleich:

if (old_rx_rings != bp->hw_resc.resv_rx_rings)

in __bnxt_reserve_rings() kann falsch sein, selbst wenn sich die RX-Ringe ändern. Dies führt dazu, dass __bnxt_reserve_rings() das Zurücksetzen der Standard-RSS-Indirection-Tabelle auf den aktuellen Wert überspringt, um sie an die aktuelle Anzahl von RX-Ringen anzupassen. Dies kann später dazu führen, dass bnxt_fill_hw_rss_tbl() einen Index außerhalb des gültigen Bereichs verwendet.

Wir verfügen bereits über bnxt_check_rss_tbl_no_rmgr(), um genau dieses Szenario zu behandeln. Wir müssen diese Funktion lediglich in bnxt_need_reserve_rings() nach oben verschieben, sodass sie bei Verwendung älterer Firmware bedingungslos aufgerufen wird. Ohne die Korrektur würden wir den Aufruf von bnxt_check_rss_tbl_no_rmgr() überspringen, wenn sich die TX-Ringe ändern, und __bnxt_reserve_rings() könnte aufgrund der im letzten Absatz erläuterten Gründe auch den Aufruf von bnxt_set_dflt_rss_indir_tbl() überspringen. Das Auslassen des Zurücksetzens der Standard-RSS-Indirection-Tabelle verursacht die Regression:

BUG: KASAN: slab-out-of-bounds in __bnxt_hwrm_vnic_set_rss+0xb79/0xe40 Lesezugriff auf Größe 2 bei Adresse ffff8881c5809618 durch Aufgabe ethtool/31525 Call Trace: __bnxt_hwrm_vnic_set_rss+0xb79/0xe40 bnxt_hwrm_vnic_rss_cfg_p5+0xf7/0x460 __bnxt_setup_vnic_p5+0x12e/0x270 __bnxt_open_nic+0x2262/0x2f30 bnxt_open_nic+0x5d/0xf0 ethnl_set_channels+0x5d4/0xb30 ethnl_default_set_doit+0x2f1/0x620

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Zuständig

Linux

Reservieren

21.08.2024

Veröffentlichung

26.08.2024

Moderieren

akzeptiert

Eintrag

VDB-275802

CPE

bereit

EPSS

0.00180

KEV

nein

Aktivitäten

very low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!