Lider React NPM Modülündeki Kritik RCE Hatası, Tam Sistem Güvenliğinin Aşılmasına İzin Verebilir


Yaygın olarak kullanılan React Native geliştirme paketinde, potansiyel olarak milyonlarca geliştiriciyi uzaktan saldırılara maruz bırakan ciddi bir güvenlik açığı keşfedildi.

JFrog’un güvenlik araştırmacıları yakın zamanda, haftada yaklaşık iki milyon indirme alan @react-native-community/cli NPM paketini etkileyen kritik bir uzaktan kod yürütme kusuru olan CVE-2025-11953’ü ortaya çıkardı.

Güvenlik açığının maksimum CVSS puanı 9,8’dir, bu da güvenlik açığının ciddiyetini ve kimliği doğrulanmamış saldırganlar tarafından istismar edilmesinin kolaylığını gösterir.

CVE Kimliği Etkilenen Ürün Etkilenen Sürümler CVSS Puanı Güvenlik Açığı Türü
CVE-2025-11953 @react-native-community/cli-server-api 4.8.0 ila 20.0.0-alfa.2 9.8 (Kritik) Uzaktan Kod Yürütme (RCE)

Bu kusur, uzaktaki saldırganların, kimlik doğrulama veya kullanıcı etkileşimi gerektirmeden, React Native’in geliştirme sunucusunu çalıştıran makinelerde rastgele işletim sistemi komutlarını yürütmesine olanak tanıyor.

Bu, React Native mobil uygulamalar üzerinde çalışan geliştiriciler için önemli bir tehdit oluşturuyor çünkü istismar, sistemin tamamen tehlikeye girmesine yol açabilir.

Güvenlik açığı, @react-native-community/cli-server-api paketinin 4.8.0 ila 20.0.0-alpha.2 sürümlerinde mevcuttur ve 20.0.0 sürümünde yamalanmıştır.

Güvenlik Açığına Genel Bakış

Güvenlik açığı, Metro geliştirme sunucusunun /open-url uç noktasındaki kullanıcı girişinin güvenli olmayan şekilde işlenmesinden kaynaklanıyor.

Geliştiriciler, geliştirme ortamlarını başlatmak için npm start veya npx react-native start gibi ortak komutları çalıştırdıklarında, sunucu, açık NPM paketinden doğrudan tehlikeli open() işlevine aktarılan, temizlenmemiş veriler içeren POST isteklerini işler.

Bu işlev, sistem düzeyindeki komutları uygun doğrulama olmadan yürütür ve saldırganların kötü amaçlı komutlar eklemesi için bir yol oluşturur.

Windows sistemlerinde araştırmacılar, tam parametre kontrolü ile tam olarak isteğe bağlı komut yürütmeyi gösterdiler.

C:\temp'de cmd.exe /c komutumuzun bir sonucu olarak oluşturulan yeni bir pwned.txt dosyası, rastgele kod yürütmenin başarılı olduğunu kanıtlıyor.C:\temp'de cmd.exe /c komutumuzun bir sonucu olarak oluşturulan yeni bir pwned.txt dosyası, rastgele kod yürütmenin başarılı olduğunu kanıtlıyor.
C:\temp’de cmd.exe /c komutumuzun bir sonucu olarak oluşturulan yeni bir pwned.txt dosyası, rastgele kod yürütmenin başarılı olduğunu kanıtlıyor.

Bu güvenlik açığı, saldırganların temel temizleme girişimlerini atlayan kötü amaçlı istekler oluşturarak kabuk komutlarını yürütmesine olanak tanıyor.

MacOS ve Linux sistemleri, farklı kod yürütme mekanizmaları nedeniyle biraz daha kısıtlı kullanım yolları gösterse de araştırmacılar, bu platformlarda yapılacak ek araştırmalarla keyfi komut yürütmenin mümkün olmaya devam edeceğine inanıyor.

JFrog SAST, güvenlik açığını keşfeder ve ayrıntılarını Veri İzleme Kanıtı ile birlikte görüntülerJFrog SAST, güvenlik açığını keşfeder ve ayrıntılarını Veri İzleme Kanıtı ile birlikte görüntüler
Güvenlik açığı ve ayrıntılarını Veri İzleme Kanıtı ile birlikte görüntüler

Sorunu daha da karmaşıklaştıran JFrog, React Native’in çekirdek kod tabanında, yalnızca yerel ana bilgisayar işlemini belirten mesajlar görüntülemesine rağmen geliştirme sunucusunun yalnızca yerel ana bilgisayar yerine tüm ağ arayüzlerine bağlanmasına neden olan ikinci bir güvenlik açığı keşfetti.

Bu yanlış yapılandırma, geliştirme uç noktaları ağ saldırganları tarafından erişilebilir hale geldikçe, yalnızca yerel bir güvenlik sorunu olabilecek bir durumu, uzaktan yararlanılabilir kritik bir güvenlik açığına dönüştürür.

@react-native-community/cli’nin savunmasız sürümlerini kullanarak React Native projelerini başlatan ve Metro geliştirme sunucusunu standart komutlar aracılığıyla çalıştıran geliştiriciler risk altındadır.

Ancak Expo gibi farklı geliştirme sunucuları kullanan çerçeveleri kullanan geliştiriciler genellikle etkilenmez.

Projenizin güvenlik açığı bulunan paketi içerip içermediğini doğrulamak için proje klasörünüze gidin ve npm list @react-native-community/cli-server-api komutunu çalıştırın.

Paket ayrıca sisteminize genel olarak yüklenmiş olabilir ve npm list -g @react-native-community/cli-server-api kullanılarak kontrol edilebilir.

Meta’nın güvenlik ekibi, etkilenen paketin 20.0.0 sürümünde bir yama yayınlayarak açıklamaya derhal yanıt verdi.

Geliştiriciler, tüm React Native projelerinde @react-native-community/cli-server-api’yi derhal 20.0.0 veya daha yüksek bir sürüme güncellemelidir.

Yükseltmenin zor olduğu durumlarda geliştiriciler, sunucuyu başlatırken npx react-native start –Host 127.0.0.1 gibi –host 127.0.0.1 işaretini kullanarak geliştirme sunucusunu localhost arayüzüne açıkça bağlayarak riski azaltabilirler.

Bu keşif, özellikle tehlikeli işlevler üçüncü taraf bağımlılıklarında yer aldığında, üretim yazılımında basit kod yürütme hatalarının bile nasıl görünmeye devam ettiğini vurguluyor.

Bu güvenlik açığı, güvenli kodlama uygulamalarının ve otomatik güvenlik taramasının, kolayca istismar edilebilecek kusurların üretim ortamlarına ulaşmadan önlenmesi için gerekli olduğunu hatırlatıyor.

Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.



Source link