CVE-2026-45845

Orta

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: net/sched: taprio: sınıf dökümünde NULL işaretçi başvurusu düzeltmesi Bir TAPRIO alt qdisc'i RTM_DELQDISC aracılığıyla silindiğinde, taprio_graft() new == NULL ile çağrılır ve q->qdiscs[cl - 1] içine NULL yazar. Sonraki RTM_GETTCLASS döküm işlemleri taprio_walk() aracılığıyla tüm sınıfları gezer ve taprio_leaf() çağrısıyla NULL işaretçiyi döndüren, ardından child->handle okumak için bu işaretçiye başvuran taprio_dump_class() işlevini çağırır ve çekirdekte NULL işaretçi başvurusuna neden olur. Hata, CONFIG_NET_SCH_TAPRIO etkin olan herhangi bir çekirdekte ad alanı kapsamlı CAP_NET_ADMIN ile erişilebilir. Ayrıcalıksız kullanıcı ad alanları etkin olan sistemlerde, ayrıcalıksız bir yerel kullanıcı yeni bir ağ ad alanı içinde bir taprio qdisc oluşturarak, açık bir alt qdisc aşılayarak, bunu silerek ve bir sınıf dökümü talep ederek çekirdek paniğini tetikleyebilir. RTM_GETTCLASS dökümünün kendisi hiçbir yetenek gerektirmez. Oops: general protection fault, probably for non-canonical address 0xdffffc0000000007: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f] RIP: 0010:taprio_dump_class (net/sched/sch_taprio.c:2478) Call Trace: <TASK> tc_fill_tclass (net/sched/sch_api.c:1966) qdisc_class_dump (net/sched/sch_api.c:2326) taprio_walk (net/sched/sch_taprio.c:2514) tc_dump_tclass_qdisc (net/sched/sch_api.c:2352) tc_dump_tclass_root (net/sched/sch_api.c:2370) tc_dump_tclass (net/sched/sch_api.c:2431) rtnl_dumpit (net/core/rtnetlink.c:6864) netlink_dump (net/netlink/af_netlink.c:2325) rtnetlink_rcv_msg (net/core/rtnetlink.c:6959) netlink_rcv_skb (net/netlink/af_netlink.c:2550) </TASK> Bu, taprio_graft() içinde new NULL olduğunda &noop_qdisc yerine konularak düzeltilir; bu, q->qdiscs[] yuvalarının asla NULL olmamasını sağlamak için diğer qdisc'ler tarafından kullanılan yaygın bir kalıptır (ör. multiq_graft()). Bu, tek tek NULL denetimleri gerektirmeden kontrol düzlemi döküm yollarını güvenli hale getirir. Veri düzlemi yolları (taprio_enqueue ve taprio_dequeue_from_txq) daha önce paketi temiz bir şekilde düşüren/atlayan açık NULL korumalarına sahip olduğundan, bu denetimleri &noop_qdisc için test edecek şekilde güncelleyin. Aksi takdirde, paketler alt öğenin enqueue işlevini çağırmadan önce kök qdisc'in qlen ve backlog değerlerini artıran taprio_enqueue_one() işlevine ulaşır; noop_qdisc paketi düşürür ancak bu sayaçlar asla geri alınmaz ve kök qdisc'in istatistiklerini kalıcı olarak şişirir. Bu değişiklikten sonra *old geçerli bir qdisc, NULL veya &noop_qdisc olabilir. noop_qdisc'in hiç artırılmamış olan başvuru sayısını azaltmaktan kaçınmak için yalnızca ilk durumda qdisc_put(*old) çağırın.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın27 May 2026
İlk görülme27 May 2026

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.6 ≤ v < 6.6.141, 6.7 ≤ v < 6.12.91, 6.13 ≤ v < 6.18.33, 6.19 ≤ v < 7.0.10, 7.16.6.141, 6.12.91, 6.18.33, 7.0.10

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.

Intelligence 360 paketinde

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.