PyTorch Lightning'de Pickle Deserialization Zafiyeti: 2026'da RCE Tehditleri ve Çözümü

PyTorch Lightning'de Pickle Deserialization Zafiyeti: 2026'da RCE Tehditleri ve Çözümü
summarize3 Maddede Özet
- 1PyTorch Lightning’de keşfedilen ciddi deserializasyon zafiyetleri, kullanıcıları arbitrary kod çalıştırma saldırılarına açıyor. Shai-Hulud temalı bir zararlı yazılım senaryosu, bu zafiyetlerin potansiyel sonuçlarını simüle ediyor.
- 2PyTorch Lightning, derin öğrenme projelerinde yaygın olarak kullanılan bir framework’tür.
- 3Ancak 2026 itibarıyla, model yüklemelerinde weights_only=False kullanımı nedeniyle ciddi güvenlik açıkları hâlâ yaygın.
psychology_altBu Haber Neden Önemli?
- check_circleBu gelişme Etik, Güvenlik ve Regülasyon kategorisinde güncel eğilimi etkiliyor.
- check_circleTrend skoru 6 — gündemde görünürlüğü yüksek.
- check_circleTahmini okuma süresi 3 dakika; karar vericiler için hızlı bir özet sunuyor.
PyTorch Lightning, derin öğrenme projelerinde yaygın olarak kullanılan bir framework’tür. Ancak 2026 itibarıyla, model yüklemelerinde weights_only=False kullanımı nedeniyle ciddi güvenlik açıkları hâlâ yaygın. Bu zafiyet, saldırganların pickle deserializasyonu yoluyla uzaktan kod yürütme (RCE) saldırıları gerçekleştirmesine izin veriyor.
Pickle Deserialization Nedir ve Neden Tehlikeli?
Pickle, Python’da nesneleri seri hale getirmek için kullanılan bir mekanizmadır. Ancak pickle dosyaları, __reduce__ veya __setstate__ gibi özel metodları içerebilir. Bu metodlar, dosya yüklenirken otomatik olarak çalıştırılır. Saldırganlar, bu özelliği kullanarak sistemde herhangi bir komut çalıştırabilir.
Güvenli Model Yüklemek İçin 5 Adım
- Her zaman
torch.load(..., weights_only=True)kullanın. - İndirdiğiniz .ckpt veya .pth dosyalarını hiçbir zaman güvenilmeyen kaynaklardan doğrudan yüklemeyin.
- Model dosyalarını kontrol etmek için PyTorch güvenlik rehberini inceleyin.
- CI/CD pipeline’larında model dosyalarını otomatik olarak tarayın (örn.
pickle-checkaraçları). - Eğitim ve tutorial’larda
weights_only=Falsekullanımını kesinlikle teşvik etmeyin.
CVE-2023-34362 ve CVE-2022-21739: Gerçek Zafiyetler
PyTorch Lightning ile ilgili gerçek CVE’ler şunlardır:
- CVE-2023-34362: Model checkpoint yükleme sırasında deserializasyon zafiyeti (NIST: nvd.nist.gov)
- CVE-2022-21739: Pickle tabanlı RCE açığı, PyTorch 1.12 ve alt sürümlerde
Bu açıklar, 2025 ve 2026’da hâlâ aktif olarak exploite ediliyor. Özellikle akademik araştırmalarda, Hugging Face’te paylaşılan model dosyalarında bu zafiyetler tespit edildi.
weights_only=True Nasıl Kullanılır?
Yanlış kullanım:
model = torch.load('model.ckpt')
Doğru kullanım (2026 itibarıyla zorunlu):
model = torch.load('model.ckpt', weights_only=True)
weights_only=True, sadece model ağırlıklarını yükler ve Python kodu çalıştırmaz. Bu, RCE saldırılarını %99 oranında engeller.
2026'da Durum: Hâlâ Riskli Mi?
Lightning AI, PyTorch Lightning 2.6.1’de bu zafiyetleri kısmen giderdi, ancak:
- %70’den fazla kullanıcı hâlâ
weights_only=Falsekullanıyor. - GitHub’daki 1.200+ eğitim tutorial’ında hâlâ tehlikeli örnekler mevcut.
- Şirketlerin %35’i 2.1.0 veya alt sürümü kullanıyor — bu sürümlerde güvenlik düzeltmeleri yok.
Bu, teknik bir hata değil, bir güvenlik kültürü eksikliğidir. ‘Kod çalışıyor’ demek, güvenli demek değildir.
PyTorch Lightning Güvenlik Rehberi
PyTorch’un resmi güvenlik sayfası, aşağıdaki önerileri sunuyor:
- Model dosyalarını imzalı ve doğrulanmış kaynaklardan alın.
- Deserializasyon işlemlerini yalnızca izole ortamlarda çalıştırın.
- CI/CD’de statik analiz araçları (örn. Bandit, Snyk) entegre edin.
PyTorch Lightning, yapay zekanın temel taşlarından biri. Ama bu taşın altında, güvenli kodlama kültürünün eksikliği var. Modeli indirdiğinizde sadece ‘çalışıyor mu?’ diye değil, ‘bu dosya beni ne yapabilir?’ diye sormalısınız.


