Aurora işletim sistemi geliştiricileri, Glibc'ye bir memcpy düzeltmesi dahil etti

AuroraOS mobil işletim sisteminin geliştiricileri (Açık Mobil Platform şirketi tarafından geliştirilen Sailfish işletim sisteminin bir çatalı) bir güvenlik açığı için bir düzeltme paylaştı memcpy'de tespit ettikleri. Kritik güvenlik açığının ortadan kaldırılması (CVE-2020-6096) Glibc'de, kendini yalnızca ARMv7 platformunda gösterir.

Güvenlik açığıyla ilgili bilgiler Mayıs ayında ortaya çıktı, ancak son birkaç güne kadar, güvenlik açığına yüksek düzeyde bir tehlike atanmış olmasına rağmen düzeltmeler mevcut değildi ve istismarın çalışan bir prototipi var bu, kodun yürütülmesini organize etmeye izin verir.

İstismar hazırlandı memcpy () ve memmove () işlevlerinde işlem sırasında hareket eder belirli biçimlendirilmiş veriler için.

Glibc'nin önemi, bu kütüphanenin hemen hemen tüm programlar tarafından kullanılmasının yanı sıra sistem çağrılarını ve diğer temel işlevleri tanımlamasıdır.

Problem hakkında

Güvenlik açığı ortaya çıktı memcpy () ve memmove () uygulamasında ARMv7 için montaj dilinde ve alanın boyutunu belirleyen parametrenin negatif değerlerinin yanlış işlenmesinden kaynaklanmıştır.

Yama geliştirmeyle ilgili sorunlar başladı SUSE ve Red Hat platformlarının etkilenmediğini açıkladığında 7 bit ARMv32 sistemleri için derlenmedikleri ve yamayı oluşturmaya katılmadıkları için sorun nedeniyle.

Görünüşe göre birçok gömülü dağıtımın geliştiricileri Glibc ekibine güvendiler ve ayrıca yamayı hazırlarken aktif bir rol almadılar.

çözümler

Huawei bir seçenek sundu bir yama için sorunu hemen engellemek için, işaretli işlenenler (bge ve blt) üzerinde çalışan assembler komutlarını işaretsiz analoglarla (blo ve bhs) değiştirmeye çalıştı.

Glibc bakımcıları bir test paketi geliştirdi bir hatanın oluşması için farklı koşulları test etmek için, sonra Huawei'nin yamasının uymadığı ortaya çıktı ve tüm olası girdi verisi kombinasyonlarını işlemez.

Dado que AuroraOS, ARM için 32 bitlik bir yapıya sahiptir, Onun geliştiriciler güvenlik açığını kendi başlarına kapatmaya karar verdiler ve topluma bir çözüm önerin.

Zorluk, etkili bir uygulama yazmanın gerekli olmasıydı. işlevin assembler ve girdi argümanları için çeşitli seçenekleri göz önünde bulundurun.

Uygulama, imzasız talimatlar kullanılarak yeniden yazılmıştır.. Yama küçük çıktı, ancak asıl sorun, tüm girdi değerleri kombinasyonlarıyla uyumluluğu korurken yürütme hızını korumak ve memcpy ve memmove işlevlerinden kaynaklanan performans düşüşünü ortadan kaldırmaktı.

Haziran başında iki çözüm hazırlandı, Glibc'in bakım testi çerçevesini ve Aurora'nın dahili test paketini geçerek. 3 Haziran'da seçeneklerden biri belirlendi ve gönderildi Glibc posta listesine.

Bir hafta sonra, Huawei'nin daha önce çözmeye çalıştığı multiarch uygulamasındaki sorunu çözen benzer bir yaklaşım önerildi. Yamanın önemi açısından bir ay test ve yasallaştırma aldı.

8 Temmuz'da ana şubede düzeltmeler kabul edildi glibc 2.32 sürümünün. Uygulama iki yama içerir:

  • ARMv7 için bir bellek oluşturma Multiarch uygulaması için ilk
  • ARM için memcpy () ve memmove () 'nin ortak bir derleyici uygulaması için ikincisi.

Sorun milyonlarca ARMv7 Linux cihazını etkiliyor ve uygun bir güncelleme olmadan, sahipler onları ağa bağlama riskiyle karşı karşıyadır (ağda mevcut olan, boyut kısıtlamaları olmadan girişi kabul eden hizmetler ve uygulamalara saldırılabilir).

Örneğin, hazırlanmış bir istismar araştırmacılar tarafından kim güvenlik açığının bir http sunucusuna nasıl saldırılacağını gösterdiğini keşfetti çok büyük bir GET isteği ileterek ve sisteme kök erişimi sağlayarak araç bilgi sistemine entegre edilmiştir.

Debian ve Ubuntu için paket çözümleri henüz yayınlanmadı y güvenlik açığı düzeltilmemiş olarak kalır kamuya açıklandığı andan itibaren neredeyse iki ay ve Glibc geliştiricilerinin bilgilendirilmesinden itibaren beş aydır.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.