CPython’u etkileyen, Python 3.12.0 ve sonraki sürümlerini etkileyen yüksek önem derecesine sahip bir güvenlik açığı (CVE-2024-12254) kamuya açıklandı.
Belirtilen kusur, asyncio
modül, özellikle yatıyor _SelectorSocketTransport.writelines()
Belirli koşullar altında potansiyel olarak hafıza tükenmesine yol açan yöntem.
KOBİ ve MSP Siber Güvenlik Liderleri için 2024 MITRE ATT&CK Sonuçlarından Yararlanma – Ücretsiz Web Seminerine Katılın
Güvenlik Açığına Genel Bakış
Güvenlik açığı, ara belleğe alma işleminin hatalı işlenmesinden kaynaklanmaktadır. writelines()
kapsamında kullanılan yöntem asyncio
modül.
Normalde, yazma arabelleği “yüksek su işaretine” ulaştığında sistem yazmayı duraklatır ve aşırı bellek kullanımını önlemek için protokole arabelleği boşaltması için sinyal gönderir.
Ancak Python 3.12.0 ve sonrasında bu mekanizma devreye giremiyor ve belirli senaryolarda yazma arabelleğinin kontrolsüz bir şekilde büyümesine izin veriyor.
Sorun işlevselliğiyle ilgili asyncio._SelectorSocketTransport.writelines()
yüksek su işaretine ulaşıldığında yazmayı duraklatmayı ve arabelleği boşaltmayı başaramaz.
Bu gözetim, sınırsız bellek kullanımına neden olabilir ve potansiyel olarak belleğin tükenmesine neden olabilir. Etkileri göz önüne alındığında, bu sorunun ciddiyeti yüksek olarak sınıflandırılmıştır.
Bu güvenlik açığı, macOS/Linux’ta Python 3.12.0+ sürümünü etkiler; asyncio
kullanan protokoller .writelines()
Python 3.12.0’da sunulan yeni yazma sırasında sıfır kopyalama davranışı nedeniyle belleğin tükenmesi riskiyle yazma arabelleğini boşaltmayabilir.
Bu güvenlik açığının ortaya çıkması için gereken özel koşullar kapsamını daraltmaktadır. Yalnızca tanışan kullanıcıları etkiler Tümü aşağıdaki kriterlerden:
- Python Sürümleri: Python 3.12.0 veya üzerini kullanma.
- İşletim Sistemleri: MacOS veya Linux’ta çalışıyor.
- Modül Kullanımı: Aktif olarak kullanmak
asyncio
protokolleri olan modül. - Yöntem Kullanımı: Güvenmek
.writelines()
Python 3.12.0’dan itibaren yazma sırasında sıfır kopyalama davranışını getiren yöntem.
Bu kriterlerden bir veya daha fazlası geçerli değilse Python kullanımınız büyük olasılıkla etkilenmeyecektir.
Python geliştirme ekibi bu sorunu aktif olarak ele alıyor. Bir düzeltme zaten önerildi ve aşağıdaki çekme isteği aracılığıyla inceleniyor.
- En Kısa Sürede Yama: Güvenlik güncellemeleri için CVE listesini ve Python’un resmi depolarını izleyin.
- Etkilenen Sürümlerden Kaçının: Mümkünse Python’un sorundan etkilenmeyen önceki bir sürümüne (3.12.0 öncesi) geri dönün.
- Kullanımı Sınırla
.writelines()
: Kullanımından kaçının veya değiştirin.writelines()
Bir düzeltme uygulanana kadar etkilenen ortamlarda yöntem.
Investigate Real-World Malicious Links,Malware & Phishing Attacks With ANY.RUN - Try for Free