CVE-2026-63836 in Linuxinformazioni

Riassunto

di VulDB • 19/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

batman-adv: tp_meter: evitare divisione per zero in dec_cwnd

Il valore di cwnd è sempre compreso tra MSS e 0x20000000 (MSS <= cwnd <= 0x20000000). Tuttavia, il calcolo effettuato in batadv_tp_update_cwnd() presuppone l'uso dell'aritmetica a 32 bit senza segno.

((mss * 8) ** 2) / (cwnd * 8)

Nel caso in cui cwnd sia effettivamente pari a 0x20000000, esso verrà spostato di 3 bit verso sinistra, raggiungendo il valore 0x100000000 o U32_MAX + 1. Di conseguenza, si verificherà un overflow (wrap-around) e il valore risulterà essere 0, portando alla seguente situazione:

((mss * 8) ** 2) / 0

Questo è ovviamente invalido e non può essere calcolato. Il calcolo dovrebbe essere semplificato per evitare tale overflow:

(mss ** 2) * 8 / cwnd

Ciò mantiene il miglioramento della precisione derivante dallo scaling (per un fattore di 8), evitando al contempo l'overflow nel divisore.

In teoria, potrebbe verificarsi ancora un overflow nel dividendo. Al momento ciò è limitato a BATADV_TP_PLEN in batadv_tp_recv_ack(), quindi non si tratta di un problema imminente. Tuttavia, consentendone l'utilizzo dell'intero intervallo dei bit u32, il valore potrebbe arrivare fino a 67 bit. Per mantenere questo calcolo sicuro nell'ambito dell'aritmetica a 32 bit, mss non deve mai utilizzare più di floor((32 - 3) / 2) bit – o, in altre parole, non deve mai essere maggiore di 16383.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

19/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!