ProjectDiscovery’de yüksek düzeyde bir güvenlik açığı ortaya çıktı Çekirdeklerbaşarılı bir şekilde kullanılması halinde saldırganların imza kontrollerini atlamasına ve potansiyel olarak kötü amaçlı kod çalıştırmasına olanak tanıyan, yaygın olarak kullanılan açık kaynaklı bir güvenlik açığı tarayıcısıdır.
Şu şekilde izlendi: CVE-2024-43405Maksimum 10,0 üzerinden 7,4 CVSS puanına sahiptir. Nuclei’nin 3.0.0’dan sonraki tüm sürümlerini etkiler.
“Güvenlik açığı, imza doğrulama süreci ile YAML ayrıştırıcısının yeni satır karakterlerini işleme şekli ile birden fazla imzanın işlenme şekli arasındaki tutarsızlıktan kaynaklanıyor.” Tanım güvenlik açığından.
“Bu, bir saldırganın şablonun zararsız kısmı için geçerli bir imzayı korurken bir şablona kötü amaçlı içerik eklemesine olanak tanır.”
Nuclei, güvenlik kusurlarını tespit etmek amacıyla modern uygulamaları, altyapıyı, bulut platformlarını ve ağları araştırmak için tasarlanmış bir güvenlik açığı tarayıcısıdır. Tarama motoru şunları kullanır: şablonlarYAML dosyalarından başka bir şey olmayan . özel istekler gönder Bir kusurun varlığını belirlemek için.
Ayrıca, ana bilgisayar işletim sisteminde harici kodun çalıştırılmasını sağlayabilir. kod protokolüböylece araştırmacılara güvenlik testi iş akışları konusunda daha fazla esneklik kazandırıyor.
CVE-2024-43405’i keşfeden bulut güvenlik firması Wiz, güvenlik açığının, şablon imza doğrulama sürecinden kaynaklandığını ve bunun da şablon imza doğrulama sürecinden kaynaklandığını söyledi. resmi şablon deposu.
Güvenlik açığından başarılı bir şekilde yararlanılması, bu önemli doğrulama adımının atlanması anlamına gelir; bu, saldırganların rastgele kod yürütebilecek ve ana bilgisayardaki hassas verilere erişebilecek kötü amaçlı şablonlar oluşturmasına olanak tanır.
Wiz araştırmacısı Guy Goldenberg, “Bu imza doğrulaması şu anda Nuclei şablonlarını doğrulamak için mevcut tek yöntem olduğundan, potansiyel tek bir hata noktasını temsil ediyor.” söz konusu Cuma analizinde.
Temelde sorun, imza doğrulama için normal ifadelerin (diğer adıyla regex) kullanılmasından ve hem regex hem de YAML ayrıştırıcısının kullanılması sonucunda ortaya çıkan ayrıştırma çatışmasından kaynaklanıyor ve böylece bir saldırganın ” r” karakterini öyle ki normal ifade tabanlı imza doğrulamasını atlatır ve YAML ayrıştırıcısı tarafından satır sonu olarak yorumlanır.
Başka bir deyişle, bu ayrıştırma tutarsızlıkları, imza doğrulama sürecinden kaçan ancak YAML yorumlayıcısı tarafından ayrıştırılıp yürütülen ikinci bir “# özet:” satırını eklemek için “r” kullanan bir Nuclei şablonu oluşturmak üzere zincirlenebilir.
Goldenberg, “Go’nun regex tabanlı imza doğrulaması \r’ı aynı satırın parçası olarak ele alırken, YAML ayrıştırıcısı bunu bir satır sonu olarak yorumluyor. Bu uyumsuzluk, saldırganların doğrulamayı atlayan ancak YAML ayrıştırıcısı tarafından yürütülen içeriği enjekte etmesine olanak tanıyor.” .
“Doğrulama mantığı yalnızca ilk # özet: satırını doğrular. Ek # özet: satırlar doğrulama sırasında göz ardı edilir ancak YAML tarafından ayrıştırılıp yürütülecek içerikte kalır.”
Ayrıca doğrulama süreci, imza satırını şablon içeriğinden hariç tutmaya yönelik bir adım içerir, ancak bunu yalnızca ilk satırın doğrulanacağı ve böylece sonraki satırların doğrulanmamış ancak yürütülebilir halde bırakılacağı şekilde yapar.
Sorumlu bir açıklamanın ardından bu konu ProjectDiscovery tarafından 4 Eylül 2024’te ele alındı: sürüm 3.3.2. Nuclei’nin güncel sürümü 3.3.7’dir.
Goldenberg, “Saldırganlar, Nuclei’nin imza doğrulamasını atlamak için manipüle edilmiş # özet satırları veya dikkatlice yerleştirilmiş satır sonları içeren kötü amaçlı şablonlar hazırlayabilir” dedi.
“Bu güvenlik açığına yönelik bir saldırı vektörü, kuruluşlar güvenilmeyen veya topluluğun katkıda bulunduğu şablonları uygun doğrulama veya izolasyon olmadan çalıştırdığında ortaya çıkar. Bir saldırgan, kötü amaçlı şablonlar eklemek için bu işlevsellikten yararlanabilir ve bu da keyfi komut yürütülmesine, veri sızmasına veya sistemin tehlikeye atılmasına neden olabilir.”


