URL’ler aracılığıyla veri aktarımı için temel ve yaygın olarak kullanılan açık kaynaklı bir yazılım olan curl’deki iki güvenlik açığı (CVE-2023-38545, CVE-2023-38546) hakkındaki ayrıntılar 11 Ekim Çarşamba günü yayınlanacak.
Orijinal yazar ve baş geliştirici Daniel Stenberg, iki güvenlik açığından daha ciddi olanının “muhtemelen uzun zamandır en kötü Curl güvenlik açığı” olduğunu söyledi.
Curl ve güvenlik açıkları hakkında
Curl (bir komut satırı aracı) ve istemci tarafı bir URL aktarım kitaplığı olan libcurl, katkıda bulunanların ve sponsorların yardımıyla curl projesi tarafından geliştirildi. Verileri çok çeşitli ağ protokolleri aracılığıyla aktarmak için kullanılırlar.
Projeye göre curl, “arabalarda, televizyon setlerinde, yönlendiricilerde, yazıcılarda, ses ekipmanlarında, cep telefonlarında, tabletlerde, tıbbi cihazlarda, set üstü kutularda, bilgisayar oyunlarında, medya oynatıcılarda kullanılıyor ve dünyadaki binlerce yazılım uygulamasının İnternet aktarım motorudur.” yirmi milyarın üzerinde kurulum.”
Curl v8.4.0’ın yarın piyasaya sürülmesiyle birlikte kapatılacak iki güvenlik açığı şunlardır:
- CVE-2023-38545, hem libcurl kitaplığını hem de curl aracını etkileyen yüksek önem derecesine sahip bir kusurdur ve
- CVE-2023-38546, yalnızca libcurl’u etkileyen düşük önem derecesine sahip bir hata.
Stenberg, güvenlik açıklarının niteliğine işaret edecek herhangi bir ayrıntıyı paylaşmayı reddetti ancak 8.4.0 sürümünde herhangi bir API veya ABI değişikliği olmadığını söyledi.
Curl, Linux sistemlerinde varsayılan olarak mevcut olduğundan, proje güvenlik açığı bilgilerini çeşitli Linux dağıtımlarının geliştiricilerine bildirdi ve paylaştı; böylece yamaları/güncellemeleri önceden hazırlayabilir ve bunları curl 8.4.0 kullanıma sunulduktan sonra hızlı bir şekilde yayınlayabilirler.
Yamalama ve olası tuzaklar
Curl ve libcurl’un her yerde bulunması, ciddi güvenlik açıklarının varlığının ve gelecek yamaların önceden duyurulmasının nedenidir, böylece yöneticiler, takip edecek bir güncelleme telaşına hazırlanabilirler.
Kuruluşlar, curl ve libcurl’un kullanıldığı tüm sistemleri belirleyerek, düzeltmelerin uygulanması için bir plan oluşturarak ve çeşitli sağlayıcılar tarafından yayınlanan güncellemeleri izleyerek hazırlanmalıdır.
“Gelecek curl sürümünde herhangi bir API veya ABI değişikliği yok. Stenberg, paylaşılan libcurl kitaplığının güncellenmesinin bu sorunun tüm işletim sistemlerinde çözülmesi için yeterli olması gerektiğini belirtti.
Qualys Tehdit Araştırma Birimi Ürün Müdürü Saeed Abbasi, Help Net Security’ye API/ABI değişikliklerinin olmayışının bu güvenlik yamasının daha hızlı benimsenmesine olanak sağladığını, çünkü kuruluşların güncellemeyi kapsamlı test ve doğrulama süreçleri olmadan kullanıma sunabileceğini söyledi. her zaman tavsiye edilir.
“Kapsamlı bir güncelleme sürecinden geçmeden bu yüksek önemdeki güvenlik açığını azaltabilmek, potansiyel siber saldırılara maruz kalma oranının hızla azaltılması açısından faydalıdır. Ayrıca, uyumluluğun önemli olduğu endüstriler ve projeler için, yeni entegrasyonları doğrulamak ve sertifikalandırmak zorunda olmamak, yeni denetimler veya kontroller gerektirmeden ilgili düzenleme ve standartlarla uyumluluğun sürdürülmesine yardımcı oluyor” diye ekledi.
Ancak, curl kütüphanesinin kendi kopyalarını içeren birçok Docker görüntüsü de var; birçoğunun yeniden oluşturulması gerekecek.
Docker ürün müdürü Jonathan Roberts, kullanıcılara ve kuruluşlara, konteyner depolarındaki kıvrılma bağımlılıklarını bulmak için Docker Scout’u kullanmalarını tavsiye etti.
Endor Labs güvenlik araştırmacısı Henrik Plate, güvenlik açıklarından yararlanan başarılı bir saldırının büyük olasılıkla saldırganın curl/libcurl’un savunmasız örneğine bir URL sağlamasını gerektireceğine dikkat çekti.
“Güncellemeye en iyi şekilde hazırlanmak için yazılım geliştiricileri, curl/libcurl’ün tüm kullanımlarını araştırmak ve özellikle kullanımda olan sürüm ve özel kullanım durumu olmak üzere önemli bağlam bilgilerini toplamak için avantajlı bir başlangıç yapmalıdır. Bu bağlam bilgisi, curl’a beslenen URL’lerin kullanıcı tarafından sağlanan (güvenilmeyen) girdiden gelip gelmediğini açıklığa kavuşturmalıdır. Bu tür durumlar özel dikkat gerektirecektir çünkü saldırganların, başarılı bir saldırı gerçekleştirmek için gerekli olabilecek URL’leri (örneğin, özel karakterler içeren veya saldırgan tarafından kontrol edilen alanlara işaret eden) sağlama fırsatı ortaya çıkabilir” dedi.
Kötüye kullanım riskinin azaltılması; yamaların uygulanmasını, etkilenen sistemlere güvenilmeyen ağlardan erişimin kısıtlanmasını veya diğer karşı önlemlerin uygulanmasını içerebilir.
“Ancak, bir zorluk, curl komut satırı aracının birçok farklı yolla kurulabilmesi olacaktır; örneğin, çeşitli Linux dağıtımları tarafından kullanılan yum ve apt paket yöneticileri aracılığıyla veya daha kötüsü, sadece ikili dosyaları curl web sitesinden indirerek kurulabilir. Bu tür indirmeler ve sonraki yürütmeler genellikle komut dosyasıyla (örneğin, Windows toplu iş dosyalarının veya Unix kabuk komut dosyalarının bir parçası olarak) oluşturulur ve bu, bu kullanımların bulunmasını zorlaştırabilir.
Synopsys’in Kıdemli Yazılım Çözümleri Yöneticisi Mike McGuire, olası tehlikeler konusunda uyardı.
“Saldırganların, savunmasız yazılımlara yama yapmak için çabalayan ekiplerin avantajlarından yararlanmak amacıyla, kötü amaçlı yazılımlarla dolu bir projenin sahte ‘sabit’ sürümlerini yayınlaması duyulmamış bir şey değil” dedi.
“Kuruluşların, güvenlik açığı ayrıntılarının tamamı yayınlanmadan önce şirketlerinin ve müşterilerinin maruz kaldığı riskleri değerlendirmek için hızlı bir şekilde çalışmaları, sistemlerini istismar girişimlerine ilişkin belirtiler açısından izlemeleri ve yamaları ve sabit curl sürümlerini nereden aldıkları konusunda dikkatli olmaları gerekiyor.”
Sonatype güvenlik araştırmacısı Ax Sharma, yüksek önemdeki güvenlik açığının “Log4j reloaded” olmadığını söyledi.
“Curl’ün çoğu kullanımı, bir işletim sistemi paketi olarak dağıtılan ve sistem düzeyinde bir hizmet sağlayıcı veya yardımcı program olarak kullanılan bir komut satırı yardımcı programıdır; bu, normal işletim sistemi güncellemelerinin bunu otomatik olarak halletmesi gerektiği anlamına gelir. Bu, bir bağımlılık olarak gömülü olan, birçok katman derinliğinde olan ve doğrudan güncelleme özelliği olmayan Log4j’den çok farklı,” diye Help Net Security’ye söyledi.
“Konu güvenlik açıkları olduğunda insanların dikkat etmesi gereken en olası saldırı yüzeyi, güncelleme almayan ve savunmasız libcurl’dan yararlanan bir uygulamaya sahip olan docker tabanlı görüntülerdir. Genel olarak, burada yapılacak en iyi şey paniğe kapılmamak, yamalı paketleri en kısa sürede kurmaktır ve konteynerlerin işletim sistemleri de içerebileceğini unutmayın; bu nedenle bunları aklınızda bulundurun.”