CVE-2026-23310 in Linuxinformazioni

Riassunto

di VulDB • 15/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

bpf/bonding: rifiutare la modifica di xmit_hash_policy su vlan+srcmac quando XDP è caricato

La funzione bond_option_mode_set() già rifiuta le modifiche alla modalità che renderebbero incompatibile un programma XDP caricato tramite bond_xdp_check(). Tuttavia, bond_option_xmit_hash_policy_set() non dispone di tale protezione.

Per le modalità 802.3ad e balance-xor, bond_xdp_check() restituisce false quando xmit_hash_policy è vlan+srcmac, poiché il payload 802.1q è solitamente assente a causa dell'offload hardware. Ciò significa che un utente può:

1. Attaccare un programma XDP nativo a una scheda bond nella modalità 802.3ad/balance-xor con una xmit_hash_policy compatibile (ad esempio layer2+3). 2. Modificare la xmit_hash_policy in vlan+srcmac mentre XDP rimane caricato.

Ciò lascia bond->xdp_prog impostato, ma bond_xdp_check() ora restituisce false per lo stesso dispositivo. Quando il bonding viene successivamente distrutto, dev_xdp_uninstall() chiama bond_xdp_set(dev, NULL, NULL) per rimuovere il programma, che incontra la protezione di bond_xdp_check() e restituisce -EOPNOTSUPP, innescando:

WARN_ON(dev_xdp_install(dev, mode, bpf_op, NULL, 0, NULL))

Risolvere questo problema rifiutando le modifiche a xmit_hash_policy verso vlan+srcmac quando un programma XDP è caricato su una scheda bond in modalità 802.3ad o balance-xor.

Il commit 39a0876d595b ("net, bonding: Disallow vlan+srcmac with XDP") ha introdotto bond_xdp_check(), che restituisce false per le modalità 802.3ad/balance-xor quando xmit_hash_policy è vlan+srcmac. Il controllo è stato integrato in bond_xdp_set() per rifiutare l'attacco di XDP con una policy incompatibile, ma il percorso simmetrico -- impedire che la xmit_hash_policy venga modificata in un valore incompatibile dopo che XDP è già caricato -- è rimasto senza protezione in bond_option_xmit_hash_policy_set().

Nota: Il commit 094ee6017ea0 ("bonding: check xdp prog when set bond mode") ha aggiunto successivamente una guardia simile a bond_option_mode_set(), ma bond_option_xmit_hash_policy_set() è rimasto non protetto.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

13/01/2026

Divulgazione

25/03/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00123

KEV

no

Attività

molto basso

Fonti

Do you know our Splunk app?

Download it now for free!