CVE-2026-68186
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: binfmt_misc: have_execfd değerini yalnızca yorumlayıcı açıldığında ayarlayın load_misc_binary(), 'O' (veya 'C') bayrağını gördüğü anda bprm->have_execfd değerini yükseltir. Bu işlem, yorumlayıcıyı açmadan çok önce gerçekleşir. Eğer bu açma işlemi başarısız olursa, bayrak bprm üzerinde ayarlı kalır. binfmt_misc format listesinin başında yer aldığı için, -ENOEXEC döndüren bir yorumlayıcı açma hatası, aramanın daha sonraki bir formata geçmesine izin verir. Bu durum, herhangi bir yorumlayıcı aşamalandırmadan eşleşen ikili dosyanın doğrudan çalıştırılması anlamına gelir. Böylece, have_execfd yanlış bir şekilde tanımlayıcının mevcut olduğunu iddia ederken bprm->executable değeri NULL olur. Sonuç olarak, begin_new_exec() eksik olan executable referansını çözer: would_dump(bprm, bprm->executable); ve NULL deref oluşur. Öyle olmasaydı bile, aynı fonksiyonun ilerleyen kısımlarındaki devir işlemi yine de başarısız olacaktı. FD_ADD(0, bprm->executable), NULL dosyayı -ENOMEM ile reddeder. Her iki nokta da geri dönüşü olmayan noktayı geçtiği için exec işlemi her iki durumda da geri alınamaz. binfmt_misc kullanıcı ad alanlarında (user namespaces) bağlanabildiği için buna yetkisiz kullanıcılar tarafından erişilebilir. Dolayısıyla bir kullanıcı, yorumlayıcısı bir FUSE bağlama noktasında bulunan bir 'O' girişi kaydedebilir, FUSE sunucusunun açma işlemini -ENOEXEC ile başarısız kılmasına neden olabilir ve girişle eşleşen yerel bir ELF dosyasını çalıştırabilir. have_execfd, ancak tanımladığı executable ile birlikte anlam ifade eder ve bu değer, yorumlayıcı açılıp aşamalandırılana kadar ayarlanmaz. Bu nedenle, bu değeri halihazırda o noktada ayarlanmış olan execfd_creds'in yanında yükseltelim. Bir açma hatası artık bu değeri temiz bırakır; böylece yedek format, kimlik bilgilerini ikili dosyadan türetir ve herhangi bir yerel exec işleminde olduğu gibi AT_EXECFD yayınlamaz. load_misc_binary()'nin açma işleminden önce gerçekleştirdiği argv yeniden yazımı hala geri alınmamıştır. Bu, ikili dosyanın argv[0]'da yorumlayıcı yolunu ve argv[1]'de kendi yolunu görmesi anlamına gelir ancak bu durum söz konusu değişiklikten öncedir ve yalnızca exec hata vermeyi bıraktığında gözlemlenebilir hale gelmiştir.
Nasıl düzeltilir
- Linux Linuxa8e9e9450df44e9dd529ec5beff283f48f4f4b97, a261dc49d99681c9c71f38d16e31812dc3e30412, 40c09b7a1d4e0a4866042c87c2bd911bb57566c8, 0f19d54e2524f0bf183b82f365ae4e49b4a2f788, 2dd0298905e97795a9c5ec30cf5b41975f821632, 1cd4e9b7967dab48c9f79a00b06ffff7208c0993, 5ccc99d58f94fad258c9c375715b3974e48620e8, bbf5f639918dc011aaf60aab8480218758ee68c5 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < a8e9e9450df44e9dd529ec5beff283f48f4f4b97, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < a261dc49d99681c9c71f38d16e31812dc3e30412, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < 40c09b7a1d4e0a4866042c87c2bd911bb57566c8, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < 0f19d54e2524f0bf183b82f365ae4e49b4a2f788, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < 2dd0298905e97795a9c5ec30cf5b41975f821632, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < 1cd4e9b7967dab48c9f79a00b06ffff7208c0993, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < 5ccc99d58f94fad258c9c375715b3974e48620e8, bc2bf338d54b7aadaed49bb45b9e10d4592b2a46 ≤ v < bbf5f639918dc011aaf60aab8480218758ee68c5, 5.8 | a8e9e9450df44e9dd529ec5beff283f48f4f4b97, a261dc49d99681c9c71f38d16e31812dc3e30412, 40c09b7a1d4e0a4866042c87c2bd911bb57566c8, 0f19d54e2524f0bf183b82f365ae4e49b4a2f788, 2dd0298905e97795a9c5ec30cf5b41975f821632, 1cd4e9b7967dab48c9f79a00b06ffff7208c0993, 5ccc99d58f94fad258c9c375715b3974e48620e8, bbf5f639918dc011aaf60aab8480218758ee68c5 |
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.