GPT Academic'te Keyfi Dosya Okuma Güvenlik Açığı

 

GPT Academic'te Keyfi Dosya Okuma Güvenlik Açığı

Genel bakış  

CVE-2025-25185, büyük dil modelleri için etkileşimli arayüzler sağlayan bir platform olan GPT Academic'te keşfedilen kritik bir güvenlik açığıdır. Güvenlik açığı, 3.91 ve önceki sürümlerde sembolik bağlantıların (yumuşak bağlantılar) uygunsuz şekilde işlenmesinden kaynaklanmaktadır. Saldırganlar, sunucudaki keyfi dosyaları okumak ve hassas bilgileri ifşa etmek için bu açığı kullanabilir.

Güvenlik Açığı Ayrıntıları  

  • CVE Kimliği : CVE-2025-25185

  • Şiddet : 7.5 (YÜKSEK) 

  • Etkilenen Sürümler : GPT Academic 3.91 ve öncesi

  • Yayın Tarihi : 03 Mart 2025

  • Güvenlik Açığı Türü : Sembolik Bağlantıların Uygunsuz İşlenmesi

  • Etkisi : Keyfi Dosya Okuma 

Teknik Açıklama  

GPT Academic, kullanıcıların . gibi sıkıştırılmış arşivler de dahil olmak üzere dosyaları yüklemesine izin verir  .tar.gz. Ancak uygulama, bu arşivlerdeki sembolik bağlantıları düzgün bir şekilde doğrulamada başarısız olur. Bir saldırgan,  .tar.gz sunucudaki hassas bir dosyayı (örneğin,  /etc/passwd yapılandırma dosyaları) işaret eden sembolik bir bağlantı içeren kötü amaçlı bir dosya oluşturabilir. Sunucu yüklenen arşivi açıp işlediğinde, sembolik bağlantı çözülür ve saldırganın hedef dosyaya erişmesine olanak tanır. 

Sömürü Senaryosu

  1. Kötü Amaçlı Arşivin Oluşturulması :

    • Saldırgan,  malicious_link sunucudaki hassas bir dosyaya işaret eden  /etc/passwd.

    • .tar.gz Sembolik bağlantı aşağıdaki komutlar kullanılarak bir dosyaya paketlenir  :

      vuruş
      Kopyala
      ln  -s /etc/passwd kötü amaçlı_bağlantı
       tar  -czvf exploit.tar.gz kötü amaçlı_bağlantı
    • Ortaya çıkan  exploit.tar.gz dosya sembolik bağlantıyı içerir.

  2. Kötü Amaçlı Arşivin Yüklenmesi : 

    • Saldırgan dosyayı  exploit.tar.gz GPT Akademik platformuna yüklüyor.

    • Sunucu arşivi açar ve hedef dosyaya olan sembolik bağlantıyı çözer.

  3. Hassas Dosyaya Erişim :

    • Saldırgan, sıkıştırılmış dosyaya platformun arayüzü üzerinden erişir.

    • Sembolik bağlantının işaret ettiği nokta  /etc/passwd, saldırganın dosyanın içeriğini okuyabilmesi ve hassas sistem bilgilerine erişebilmesidir.

Darbe

  • Veri Açığa Çıkarma : Saldırganlar, uygulamanın erişim iznine sahip olduğu sunucudaki yapılandırma dosyaları, ortam değişkenleri ve kullanıcı verileri dahil olmak üzere herhangi bir dosyayı okuyabilir.

  • Ayrıcalık Yükseltmesi : Hassas kimlik bilgileri veya anahtarlar açığa çıkarsa, saldırganlar ayrıcalıklarını yükseltebilir veya sistem içinde yatay olarak hareket edebilir.

  • İtibar Zararı : Hassas verilere yetkisiz erişim, kuruluş için güven kaybına ve itibar kaybına yol açabilir. 

Azaltma

  • En Son Sürüme Yükseltin :

    • GPT Academic geliştiricileri, bu güvenlik açığını gideren 3.92 sürümünde bir yama yayınladı. Kullanıcılar derhal güncelleme yapmalıdır.

  • Giriş Doğrulaması :

    • Yüklenen dosyaların sıkı bir şekilde doğrulanmasını sağlayın ve sıkıştırılmış arşivlerde sembolik bağlantılara izin verilmediğinden emin olun.

  • Dosya Erişim Kısıtlamaları :

    • Hassas dosyalara erişimi sınırlamak için uygulamanın dosya sistemi izinlerini kısıtlayın.

  1. Güvenlik Denetimleri :

    • Uygulamadaki olası güvenlik açıklarını belirlemek ve gidermek için düzenli güvenlik denetimleri gerçekleştirin.

Kod Örneği: Güvenli Dosya Yükleme İşleme

Sembolik bağlantı istismarını önlemek için dosya yüklemelerinin güvenli bir şekilde nasıl işleneceğine dair bir örnek aşağıda verilmiştir:

piton
Kopyala
tarfile'ı içe
 aktar

def  safe_extract_tar ( file_path , extract_dir ) :
     " " " Hiçbir sembolik bağlantının mevcut olmadığından emin olarak bir tar.gz dosyasını güvenli bir şekilde çıkarın.""" 
    with tarfile.open ( file_path , " r : gz " ) as tar : for member in tar.getmembers ( ) : if member.issym ( ) or member.islnk ( ) : raise ValueError ( " Arşivde sembolik bağlantılara izin verilmez." ) # Çıkarma yolunun hedef dizinde olduğundan emin olun 
            member_path = os.path.join ( extract_dir , member.name ) if not os.path.abspath ( member_path ) .startswith ( os.path.abspath ( extract_dir ) ) : raise ValueError ( " Arşivde geçersiz dosya yolu . " ) tar.extractall ( path = extract_dir 
        )  
        
             
                
            
             
                

# Örnek kullanım 
try : 
    safe_extract_tar ( "uploaded_file.tar.gz" ,  "/safe/extract/dir" ) 
except ValueError as e : 
    print ( f"Error: { e } " )


Çözüm

CVE-2025-25185, web uygulamalarında uygun dosya işleme ve giriş doğrulamasının önemini vurgular. GPT Academic'in en son sürümüne yükseltme yaparak ve güvenli kodlama uygulamaları uygulayarak, kuruluşlar benzer güvenlik açıklarının riskini azaltabilir ve sistemlerini yetkisiz erişime karşı koruyabilir.



Yorum Gönder

Daha yeni Daha eski

İletişim Formu