CVE-2025-68146
Açıklama
filelock, Python için platformdan bağımsız bir dosya kilitleme mekanizmasıdır. 3.20.1 öncesindeki sürümlerde, bir Kontrol Zamanı ile Kullanım Zamanı (TOCTOU) yarış durumu, yerel saldırganların sembolik bağlantı (symlink) saldırıları aracılığıyla rastgele kullanıcı dosyalarını bozmasına veya kırpmasına olanak tanır. Zafiyet, hem Unix hem de Windows kilit dosyası oluşturma süreçlerinde, filelock'un bir dosyayı O_TRUNC ile açmadan önce var olup olmadığını kontrol etmesi nedeniyle ortaya çıkar. Bir saldırgan, kontrol ve açma işlemleri arasındaki zaman boşluğunda mağdur bir dosyayı işaret eden bir sembolik bağlantı oluşturarak os.open()'in bu bağlantıyı takip etmesine ve hedef dosyanın kırpılmasına neden olabilir. Unix, Linux, macOS ve Windows sistemlerindeki tüm filelock kullanıcıları etkilenmektedir. Zafiyet, bağımlı kütüphanelere sirayet etmektedir. Saldırı, yerel dosya sistemi erişimi ve sembolik bağlantı oluşturma yeteneği gerektirir (Unix'te standart kullanıcı izinleri; Windows 10+ üzerinde Geliştirici Modu). Kilit dosyası yolları öngörülebilir olduğunda, istismar 1-3 deneme içerisinde başarıya ulaşır. Sorun 3.20.1 sürümünde düzeltilmiştir. Hemen yükseltme yapılması mümkün değilse, UnixFileLock/WindowsFileLock yerine SoftFileLock kullanın (not: farklı kilitleme anlamsal yapılarına sahiptir, tüm kullanım durumları için uygun olmayabilir); güvenilmeyen kullanıcıların sembolik bağlantılar oluşturmasını önlemek için kilit dosyası dizinlerinin kısıtlayıcı izinlere (chmod 0700) sahip olduğundan emin olun ve/veya güvenilir uygulamaları çalıştırmadan önce kilit dosyası dizinlerini şüpheli sembolik bağlantılara karşı izleyin. Bu geçici çözümler yalnızca kısmi hafifletme sağlar. Yarış durumu istismara açık kalmaya devam eder. Sürüm 3.20.1'e yükseltme yapılması şiddetle önerilir.
Nasıl düzeltilir
- tox-dev filelock3.20.1 ya da sonraki bir sürüm
- filelock3.20.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| tox-dev filelock | v < 3.20.1 | 3.20.1 |
| filelockPyPI | v < 3.20.1 | 3.20.1 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.