Giriş: CVE-2025-11953 React Native Güvenliği için Neden Ezber Bozan Bir Önem Taşıyor?
Eğer bir React Native geliştiricisi veya mobil uygulamalarla çalışan bir BT güvenlik uzmanı olarak aşağıdakilerin farkında olmanız gerekir CVE-2025-11953-Çekirdeği etkileyen kritik bir güvenlik açığı Metro Geliştirme Sunucusu kullanılan React Native projeler. Bu güvenlik açığı, geliştirme ortamını uzaktan kod yürütme (RCE) saldırıları, özellikle de geliştirme sunucularını güvenli bir şekilde yapılandırmayanlar için önemli riskler oluşturmaktadır.
Özünde, CVE-2025-11953 ortaya çıkarır. çi̇fte vuruş: varsayılan yapılandırma kusurları ve komut enjeksiyonu güvenlik açıkları. Bu Metro Geliştirme SunucusuReact Native uygulamalarını paketlemek ve hata ayıklamak için gerekli olan, varsayılan olarak 0.0.0.0sunucuya dışarıdan erişime izin veriyor. Ayrıca, sunucudaki bazı açık uç noktalar filtrelenmemiş kullanıcı girdisini kabul ederek saldırganların işletim sistemi komutlarını enjekte etmesine olanak tanıyarak RCE ve tamamlayın ev sahi̇bi̇ devralma.
React Native, platformlar arası mobil uygulama geliştirme için önde gelen bir çerçeve olduğundan, geliştiriciler genellikle bu güvenlik açığının yarattığı riskleri hafife alırlar. Bu makalede, aşağıdaki temel sorunları inceleyeceğiz CVE-2025-11953teknik sonuçlarını gözden geçirecek ve riski azaltmak için uygulanabilir adımlar sunacağız. Ayrıca geliştirme ortamınızın güvenliğini sağlamanın ve güvenli React Native iş akışlarını sürdürmenin pratik yönlerine de değineceğiz.
CVE-2025-11953 Nedir? Daha Yakından Bir Bakış
JFrog Ltd'ye göre. Güvenlik Araştırma ekibine göre, güvenlik açığı yaygın olarak kullanılan NPM paketini etkiliyor @react-native-community/cliReact Native için Metro sunucusunu çalıştırır. Hata, kimliği doğrulanmamış saldırganların açıkta kalan bir uç noktaya hazırlanmış bir POST isteği göndermesine olanak tanır (örneğin /open-url) ve ana bilgisayarda rastgele işletim sistemi komutları çalıştırabilir. JFrog+2nvd.nist.gov+2 Anahtar faktörler:
- CVSS 3.1 puanı: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) nvd.nist.gov
- Etkilenen sürümler: @react-native-community/cli-server-api 4.8.0'dan 20.0.0-alpha.2'ye kadar. 20.0.0 sürümünde yama mevcuttur. Hacker Haberleri+1
- Altta yatan sorun: Metro sunucusu varsayılan olarak 0.0.0.0 adresine bağlanır ve kullanıcı girdisini
open()(açık npm paketinden) bir işletim sistemi komut yürütme yoluna. CSO Online+1
Neden önemli? Localhost ile sınırlı tipik dev-server kusurlarının aksine, bu bir uzak ağ vektörü. Metro çalıştıran geliştirme makineleri ve CI aracıları risk altındadır. eSecurity Planet
| Öğe | Detaylar |
|---|---|
| CVE KIMLIĞI | CVE-2025-11953 |
| Güvenlik Açığı Türü | İşletim Sistemi Komut Enjeksiyonu (CWE-78) |
| Etkilenen Bileşen | React Native CLI'nin Metro Geliştirme Sunucusu |
| Etkilenen Sürümler | React Native ≤ 0.74.1 / Metro ≤ 0.81.0 (ve CLI-server-api 4.8.0-20.0.0-alpha.2) |
| Tetikleyici Uç Noktası | Açık HTTP uç noktaları (örn. /open-url, /symbolicate, /debugger-ui) |
| Önemlilik (CVSS) | 9,8 / AV:N / AC:L / PR:N / UI:N |
| Birincil Risk | Uzaktan kod yürütme → Dev makine tehlikesi → dahili ağ yanal hareketi |

İşte bu açığı özellikle tehlikeli kılan belirli teknik risklere daha yakından bir bakış:
Metro Server'ın Varsayılan Açığa Çıkışı
Ne zaman React Native CLI başlar Metro geliştirme sunucusu'ye bağlanmak için varsayılan olarak 0.0.0.0Bu da sunucunun hem dahili hem de harici tüm mevcut ağ arayüzlerini dinlediği anlamına gelir. Bu, sunucuyu aşağıdaki özelliklere sahip bir makinede barındıran herhangi bir geliştirici için büyük bir güvenlik riskidir i̇nternet eri̇şi̇mi̇.
İşte bu varsayılan bağlamayı yapılandıran kodun bir örneği:
javascript:
// Metro sunucu varsayılan yapılandırması (react-native/node_modules/metro/src/server/index.js)
const config = {
host: '0.0.0.0', // tüm arayüzlere bağlanır
port: 8081, // varsayılan bağlantı noktası
enableCORS: true // çapraz kökenli istekler etkin
};
Olması gereken şey, Metro sunucusunun yalnızca 127.0.0.1 (localhost), yalnızca yerel geliştirme makinesinin erişebilmesini sağlar. Ancak, bu yapılandırma aşağıdakilere izin verir uzaktan erişimsunucuyu riske atıyor.
Komut Enjeksiyonu Güvenlik Açığı
Güvenlik açığının ikinci kısmı şunları içerir komut enjeksiyonugibi belirli uç noktaların bulunduğu /simgeselleştirmek ve /debugger-uikullanıcı girdisini doğrudan sistem komutlarına aktarır. Bu girdi doğrulama eksikliği, saldırganların kötü amaçlı komutlar eklemesine ve potansiyel olarak rastgele kod çalıştırmasına olanak tanır.
Örneğin, meşru bir talep /simgeselleştirmek şöyle görünebilir:
POST /symbolicate HTTP/1.1
Ana bilgisayar: [target-ip]:8081
Content-Type: application/json
{
"logPath": "/var/log/react-native/crash.log"
}
Ancak, bir saldırgan bunun gibi ek komutlar enjekte edebilir:
POST /symbolicate HTTP/1.1
Ana bilgisayar: [target-ip]:8081
Content-Type: application/json
{
"logPath": "/var/log/react-native/crash.log && whoami"
}
Bu durumda, sistem şu komutu yürütür cat /var/log/react-native/crash.log && whoamisaldırganın sunucu üzerinde rastgele komutlar çalıştırmasına izin verir, örneğin kimami geçerli kullanıcıyı göstermek için.
React Native'in Hangi Sürümleri CVE-2025-11953'ten Etkileniyor?
Güvenlik açığı etkileri React Native sürümleri ≤ 0.74.1 ve Metro sürümleri ≤ 0.81.0. Bu sürümleri veya daha eski sürümleri kullanıyorsanız, geliştirme ortamınızı uzaktan kod çalıştırmaya maruz bırakmamak için hemen yükseltme yapmanız çok önemlidir.
React Native sürümünüzü kontrol etmek için çalıştırabilirsiniz:
npm list @react-native-community/cli-server-api
Sürüm güncel değilse, çalıştırarak güvenli bir sürüme yükseltin:
npm install react-native@latest
React Native'i yükseltmek hemen mümkün değilse, şunları yapabilirsiniz Metro'yu güncelleyin koşarak bağımsız olarak:
npm install metro@latest --save-dev
CVE-2025-11953 için Pratik Etki Azaltma Stratejileri
Acil Düzeltme: Metro'yu localhost'a bağlayın
Bağımlılıklarınızı hemen yükseltemiyorsanız, riski geçici olarak azaltmak için Metro sunucusu için 127.0.0.1. Bu, açıkta olsa bile harici saldırganların sunucuya ulaşmasını engeller.
Metro'yu localhost'a bağlamak için çalıştırın:
npx react-native start --host 127.0.0.1
Bunu kalıcı hale getirmek için aşağıdakileri package.json:
"scripts": {
"start": "react-native start --host 127.0.0.1",
"android": "react-native run-android",
"ios": "react-native run-ios"
}
Ağ Güvenliği: Güvenlik Duvarları Kullanın
Bir başka acil önlem de güvenlik duvarları varsayılan Metro bağlantı noktasına (8081) dışarıdan erişimi engellemek için. Örneğin, Linux üzerinde şunu kullanın:
iptables -A INPUT -p tcp --dport 8081 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j DROP
Windows kullanıcıları için, güvenlik duvarını 8081 numaralı bağlantı noktasını şu şekilde sınırlandıracak şekilde yapılandırın localhost.
Penligent: React Native Projeleri için Güvenlik Testini Otomatikleştirme
Bir React Native geliştiricisi olarak, aşağıdaki gibi güvenlik açıklarının önüne geçmek CVE-2025-11953 zorlayıcı olabilir. İşte bu noktada Penligentyapay zeka destekli bir sızma testi platformu devreye giriyor. Penligent gibi güvenlik açıklarının tespitini otomatikleştirir. CVE-2025-11953React Native kod tabanınızı ve konfigürasyonlarınızı tarayarak potansiyel riskleri gerçek zamanlı olarak tespit eder.
ile Penligent, otomatikleştirilmiş entegre edebilirsiniz sızma testi geliştirme hattınıza dahil ederek projelerinizin dağıtımdan önce güvenli olmasını sağlar. Bu proaktif güvenlik yaklaşımı, maliyetli güvenlik açıklarından kaçınmanıza yardımcı olur ve kullanıcılarınızı kötü niyetli saldırılardan korur.
Sonuç: React Native Projelerini CVE-2025-11953'ten Korumak
CVE-2025-11953 kritik güvenlik açıklarını ortaya çıkardı. Metro geliştirme sunucusu . React NativeBu da saldırganların bir geliştirme ortamını ele geçirmesini kolaylaştırır. Anlayarak yapılandırma kusurları ve komut enjeksiyonu risklerigeliştiriciler projelerini korumak için harekete geçebilirler.
Risklerini azaltmak için CVE-2025-11953geliştiriciler yapmalıdır:
- En son sürüme yükseltin React Native ve Metro versiyonları.
- Sunucuyu aşağıdakilere bağlamak gibi geçici düzeltmeler uygulayın localhost.
- Metro'nun varsayılan bağlantı noktasına erişimi kısıtlamak için güvenlik duvarlarını yapılandırın.
Ayrıca, aşağıdaki gibi araçlar kullanarak Penligent güvenlik testlerini otomatikleştirerek geliştirme ortamınızın güvende kalmasını sağlayabilir. Bu stratejileri benimseyerek React Native projelerinizi aşağıdaki tehditlerden koruyabilirsiniz uzaktan kod yürütme ve geliştirme iş akışlarınızın güvende kalmasını sağlayın.
Daha fazla en iyi güvenlik uygulaması için bkz. OWASP İlk On ve npm güvenlik önerileri devam eden güncellemeler için.

