CVE-2024-5480: PyTorch'un torch.distributed.rpc Çerçevesinde Uzaktan Kod Yürütme Güvenlik Açığı
7 Haziran 2024
PyTorch'un torch.distributed.rpc çerçevesinde kritik bir uzaktan kod yürütme (RCE) güvenlik açığı tespit edildi ve 2.2.2'den önceki sürümleri etkiliyor. Bu güvenlik açığı saldırganların çoklu işlemcili RPC iletişimi sırasında eval gibi yerleşik Python işlevlerinden yararlanarak keyfi komutlar yürütmesine olanak tanır. Sorun, bir çalışan düğüm serileştirildiğinde ve ana düğüme bir Python Kullanıcı Tanımlı İşlevi (PythonUDF) gönderdiğinde ve ardından ana düğümün doğrulama yapmadan işlevi serileştirmeyi kaldırması ve yürütmesi durumunda işlev çağrılarında kısıtlama olmamasından kaynaklanır. Bu kusur, dağıtılmış eğitimi başlatan ana düğümleri tehlikeye atmak için kullanılabilir ve potansiyel olarak hassas AI ile ilgili verilerin çalınmasına yol açabilir.
Arka plan
torch.distributed.rpc çerçevesi, dağıtılmış eğitim senaryolarında çalışan düğümler ile ana düğüm arasındaki iletişimi kolaylaştırmak için kullanılır. Çerçeve, RPC işlemlerini verimli bir şekilde işlemek üzere tasarlanmıştır ancak bu işlemler sırasında çağrılan işlevlerin uygun şekilde doğrulanmasından yoksundur. Bu gözetim, saldırganların eval gibi yerleşik Python işlevlerinden yararlanarak keyfi komutlar yürütmesine olanak tanır.
Güvenlik Açığı Ayrıntıları
Güvenlik açığı aşağıdaki olayların dizisinden kaynaklanmaktadır:
Serileştirme ve Gönderme: Bir işçi düğümü bir PythonUDF'yi serileştirir ve ana düğüme gönderir.
Serileştirmeyi Kaldırma ve Yürütme: Ana düğüm PythonUDF'yi doğrulama yapmadan serileştirmeyi kaldırır ve yürütür.
Bu olay dizisi saldırganların eval gibi yerleşik Python işlevlerini içeren kötü amaçlı bir PythonUDF oluşturarak keyfi komutlar yürütmesine olanak tanır. eval işlevi, uzaktan kod yürütülmesine yol açabilen keyfi kod yürütmek için kullanılabilir.
Darbe
Bu güvenlik açığının etkisi önemlidir, çünkü dağıtılmış eğitimi başlatan ana düğümleri tehlikeye atmak için kullanılabilir. Bu, model ağırlıkları, eğitim verileri ve diğer gizli bilgiler dahil olmak üzere hassas AI ile ilgili verilerin çalınmasına yol açabilir.
Azaltma
Bu güvenlik açığını azaltmak için kullanıcıların gerekli düzeltmeleri içeren en son PyTorch sürümüne (2.2.2 veya üzeri) yükseltmeleri önerilir. Ayrıca kullanıcılar, dağıtılmış eğitim ortamlarının ana düğüme yetkisiz erişimi önlemek için düzgün şekilde yapılandırıldığından emin olmalıdır.
Çözüm
CVE-2024-5480 güvenlik açığı, dağıtılmış eğitim senaryolarında RPC işlemleri sırasında işlevlerin uygun şekilde doğrulanması ve onaylanmasının önemini vurgular. Geliştiricilerin ve kullanıcıların bu tür güvenlik açıklarının istismar edilmesini önlemek için en son güvenlik yamaları ve en iyi uygulamalarla güncel kalmaları hayati önem taşır.
CVE-2024-5480'i düzeltmek için PyTorch kurulumumu nasıl yamalayabilirim?
pip install --upgrade torch3. Yüklü sürümü şu komutu çalıştırarak doğrulayın:
ithalat meşalesi;yazdır (torch.__version__)