CVE-2025-61765
Açıklama
python-socketio, Socket.IO gerçek zamanlı istemcisinin ve sunucusunun bir Python uygulamasıdır. python-socketio'nun 5.14.0 öncesi sürümlerindeki bir uzaktan kod çalıştırma güvenlik açığı, saldırganın daha önce sunucuların dahili iletişim için kullandığı mesaj kuyruğuna erişim sağladığı çok sunuculu dağıtımlarda kötü niyetli pickle serileştirme kaldırma yoluyla rastgele Python kodu çalıştırmasına olanak tanır. Socket.IO sunucuları, sunucular arası iletişim için Redis gibi bir mesaj kuyruğu arka ucu kullanacak şekilde yapılandırıldığında, sunucular arasında gönderilen mesajlar Python `pickle` modülü kullanılarak kodlanır. Bir sunucu bu mesajlardan birini mesaj kuyruğu üzerinden aldığında, mesajın güvenilir olduğunu varsayar ve derhal serileştirmesini kaldırır. Güvenlik açığı, mesajların Python'un `pickle.loads()` işlevi kullanılarak serileştirmesinin kaldırılmasından kaynaklanmaktadır. Mesaj kuyruğuna daha önce erişim sağlamış olan saldırgan, bir python-socketio sunucusuna, Python'un `__reduce__` yöntemi aracılığıyla serileştirme kaldırma sırasında rastgele kod çalıştıran özel olarak hazırlanmış bir pickle yükü gönderebilir. Bu güvenlik açığı yalnızca mesaj kuyruğu ele geçirilmiş dağıtımları etkiler. Saldırı, saldırganın bir Socket.IO sunucu sürecinin bağlamında ve ayrıcalıklarıyla rastgele kod çalıştırmasına yol açabilir. Mesaj kuyruğu kullanmayan tek sunuculu sistemler ve güvenli bir mesaj kuyruğuna sahip çok sunuculu sistemler bu güvenlik açığından etkilenmez. Mesaj kuyruğunun dağıtımında standart güvenlik uygulamalarına uyulmasının sağlanmasına ek olarak, python-socketio paketinin kullanıcıları, `pickle` modülünü kaldıran ve sunucular arası mesajlaşma için çok daha güvenli JSON kodlamasını kullanan 5.14.0 veya daha yeni bir sürüme yükseltebilir.
Nasıl düzeltilir
- python-socketio5.14.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| python-socketioPyPI | 0.8.0 ≤ v < 5.14.0 | 5.14.0 |
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.