CVE-2024-27933
Açıklama
Deno; bir JavaScript, TypeScript ve WebAssembly çalışma zamanıdır. Versiyon 1.39.0'da, `op_node_ipc_pipe()` fonksiyonunda ham dosya tanımlayıcılarının kullanımı, rastgele dosya tanımlayıcılarının vaktinden önce kapatılmasına yol açarak standart girişin farklı bir kaynak olarak yeniden açılmasına ve bunun sonucunda izin isteminin atlatılmasına neden olur. Node child_process IPC, ham IPC dosya tanımlayıcısının `op_node_ipc_pipe()` fonksiyonuna iletilmesi için JS tarafına güvenir; bu fonksiyon ise dosya tanımlayıcısıyla ilişkili bir `IpcJsonStreamResource` kimliği döndürür. Kaynak kapatıldığında, ham dosya tanımlayıcısı da beraberinde kapatılır. `op_node_ipc_pipe()` fonksiyonunda ham dosya tanımlayıcılarının kullanılması, rastgele dosya tanımlayıcılarının vaktinden önce kapatılmasına yol açar. Bu durum, standart girişin (fd 0) kapatılıp farklı bir kaynak için yeniden açılmasına olanak tanıyarak sessiz bir izin istemi atlatmaya imkan verir. Bu durum, bir Deno çalışma zamanı içinde yürütülen kodu kontrol eden bir saldırgan tarafından, izinlerden bağımsız olarak ana makinede rastgele kod çalıştırma sağlamak amacıyla istismar edilebilir. Bu hatanın istismar edilebildiği bilinmektedir. Sıfır izinden istemleri atlayarak rastgele kod çalıştıran ve ek olarak Cache API'nin dosya sistemi izin kontrollerinden yoksun olması gerçeğini kötüye kullanan çalışan bir exploit mevcuttur. stderr kanalının da kapatılabilmesi ve tüm istem çıktılarını bastırması nedeniyle saldırı sessizce gerçekleştirilebilir. Versiyon 1.39.1 bu hatayı düzeltir.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| deno deno | 1.39.0 | — |
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.