CVE-2025-21682 in Linuxinformation

Résumé

par VulDB • 22/05/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

eth: bnxt: recalculer toujours les fonctionnalités après la suppression de XDP, correction d'une déréférencement null

Recalculer les fonctionnalités lorsque XDP est détaché.

Avant : # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: off [requested on]

Après : # ip li set dev eth0 xdp obj xdp_dummy.bpf.o sec xdp # ip li set dev eth0 xdp off # ethtool -k eth0 | grep gro rx-gro-hw: on

Le fait que HW-GRO ne soit pas réactivé automatiquement n'est qu'une légère gêne. Le véritable problème est que les fonctionnalités réapparaissent de manière aléatoire lors d'une autre reconfiguration qui invoque netdev_update_features(). Le pilote ne gère pas de manière très robuste la reconfiguration de deux éléments simultanément.

À partir du commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()"), nous ne reconfigurons la table de hachage RSS que si le nombre « effectif » de rings Rx a changé. Si HW-GRO est activé, le nombre « effectif » de rings est le double de ce que l'utilisateur voit. Ainsi, si nous sommes dans un état dégradé, avec la réactivation de HW-GRO « en attente » après la désactivation de XDP, et que nous réduisons le nombre de rings par / 2 - les rings HW-GRO faisant x2 et le ethtool -L faisant / 2 peuvent s'annuler mutuellement, et la condition :

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

dans __bnxt_reserve_rings() sera fausse. La carte RSS ne sera pas mise à jour, et nous planterons avec :

BUG: kernel NULL pointer dereference, address: 0000000000000168 RIP: 0010:__bnxt_hwrm_vnic_set_rss+0x13a/0x1a0 bnxt_hwrm_vnic_rss_cfg_p5+0x47/0x180 __bnxt_setup_vnic_p5+0x58/0x110 bnxt_init_nic+0xb72/0xf50 __bnxt_open_nic+0x40d/0xab0 bnxt_open_nic+0x2b/0x60 ethtool_set_channels+0x18c/0x1d0

Lorsque nous essayons d'accéder à un ring libéré.

Le problème est présent depuis l'ajout du support XDP, en réalité, mais avant le commit 98ba1d931f61 ("bnxt_en: Fix RSS logic in __bnxt_reserve_rings()"), il ne causait pas de problèmes majeurs.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

29/12/2024

Divulgation

31/01/2025

Modérer

accepté

Entrée

VDB-294260

EPSS

0.00233

KEV

non

Activités

très faible

Sources

Want to know what is going to be exploited?

We predict KEV entries!