Linux Kernelinde UDP Corking Açığı Yerel Ayrıcalık Yükseltmesine Yol Açıyor
Linux çekirdeğinde UDP MSG_SPLICE_PAGES ile tetiklenen heap OOB yazma açığı (CVE-2026-53362, CVE-2026-53366) yerel ayrıcalık yükseltmesine yol açabiliyor.
İki yeni CVE (CVE-2026-53362 IPv6, CVE-2026-53366 IPv4), Linux çekirdeğinin UDP corking yolunda MSG_SPLICE_PAGES bayrağı kullanılırken parça sınırını (fragment boundary) aşan veri işlenirken oluşan bir heap sınır dışı yazma açığını tanımlıyor. Açık, yerel ayrıcalıksız bir kullanıcı tarafından, örneğin bir pipe'tan UDP_CORK altında bir UDP soketine splice() çağrısıyla tetiklenebiliyor.
Kök neden, __ip6_append_data() ve IPv4 karşılığının, sınırı aşan 'fraggap' baytlarını datalen/pagedlen hesaplamalarına dahil etmesine rağmen doğrusal ayırma (alloclen) hesabına eklememesinden kaynaklanıyor. Bu durum negatif bir 'copy' değeri üretiyor; bu değer yalnızca MSG_SPLICE_PAGES bayrağı ayarlı değilken reddediliyor, dolayısıyla kontrol atlanıyor ve çekirdek veri alanının sonunu aşan gerçek bir doğrusal kopyalama yaparak doğrudan skb_shared_info yapısına yazıyor. Saldırgan, 15 baytlık kontrollü bir taşma ile nr_frags alanını değiştirerek önceki bir ayırmadan kalan bayat frags[0] girdisini 'ayrılmış' bir parça haline getirebiliyor ve bu da yerel ayrıcalık yükseltmesine yol açabiliyor.
IPv6 varyantı CONFIG_IPV6=y gerektirirken, IPv4 varyantı kullanıcı ad alanlarını (USERNS) gerektiriyor. Hatalı fraggap hesaplaması v6.1'den bu yana mevcut ve düzeltmeler (IPv6 için 736b380e28d0, IPv4 için eca856950f7c) alloclen'e fraggap eklenmesini, pagedlen'den çıkarılmasını ve MSG_SPLICE_PAGES istisnasının kaldırılmasını sağlıyor.