Ana içeriğe geç
Güvenlik

OpenBSD çekirdeğindeki 37 yıllık açık yerel yetki yükseltmeye yol açtı

Öne çıkanlar

  • 16 bitlik işaretli sayaç, 32.767 değerini aşarak negatife döndü ve bellek hatasını tetikledi.
  • OpenBSD'nin KARL, SMAP ve SMEP savunmaları bilgi sızdırma açığı olmadan aşıldı.
  • Geliştiriciler tespit edilen açıkları 018 ve 026 numaralı yamalarla kapattı.

Siber güvenlik araştırma şirketi Calif, OpenBSD çekirdeğinde yaklaşık 37 yıl önceki orijinal BSD kaynak kodlarına kadar uzanan kritik bir güvenlik açığını ortaya çıkardı. Paylaşılan bellek bağlantı sayacının 16 bitlik işaretli tamsayı olarak tanımlanması nedeniyle oluşan bu hata, sürecin art arda çatallanması sonucunda tamsayı taşmasına yol açtı. Taşma neticesinde negatif değere dönen sayaç, yarış durumu ve çekirdekteki ayrı bir sınır dışı yazma zafiyetiyle birleşerek saldırganların doğrudan root yetkisi elde etmesine imkan tanıdı.

Araştırmacılar, OpenBSD'nin önde gelen güvenlik mekanizmaları olan KARL, SMAP ve SMEP devredeyken bile herhangi bir bilgi sızdırma açığına ihtiyaç duymadan yerel yetki yükseltme saldırısını başarıyla gerçekleştirdi. KARL mekanizması çekirdek ikilisini her açılışta yeniden bağlasa da bellek ayırıcılarının belirlenimci yapısı nedeniyle erken açılış tahsislerinin öngörülebilir adreslere yerleştiği tespit edildi. Araştırma ekibi, soket yapılandırmaları ve sayfa tablosu girişlerindeki atomik azaltma işlemlerini kullanarak çekirdek işaretçilerini yeniden yazdı ve yetki zincirini tamamladı.

OpenBSD geliştiricileri tespit edilen güvenlik açıklarını 018 ve 026 numaralı resmi yamalarla giderdi. Calif araştırmacıları, benzer saldırı yöntemlerinin önüne geçmek için çekirdek seviyesinde güvenli bağlantı koparma denetimleri, sayfa tablosu eşleme adreslerinin rastgele dağıtılması ve bellek ayırıcı taban adreslerinin rastgeleleştirilmesi gibi kapsamlı savunma önlemlerinin uygulanmasını önerdi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.