Mayıs 2025’te AWS, @AWS-Amplify/CodeGen-Ui paketinde CVE-2025-4318 kritik bir uzaktan kod yürütme (RCE) güvenlik açığı, AWS Amplify Studio’nun UI kodu oluşturma boru hattında bir çekirdek güvenilirliği olan CVE-2025-4318’i açıkladı.
CVSS ölçeğinde 9.5 olarak derecelendirilen kusur, UI bileşen şemalarında kullanıcı tanımlı JavaScript ifadelerini işleyen ifade bağlayıcı mantıkta uygunsuz giriş validasyonundan kaynaklandı.
RCE nasıl mümkün oldu
AWS Amplify Studio, geliştiricilerin kullanıcı arayüzü bileşenlerini görsel olarak oluşturmalarını ve bunları React kodu olarak dışa aktarmalarını sağlar.
.png
)
Bu bileşenler genellikle JSON şemalarında depolanan JavaScript snippet’leri olarak ifade edilen etiketler, yer tutucular veya değerler gibi dinamik özellikleri içerir.
Savunmasız sürümler (≤2.20.2), bu ifadeleri herhangi bir giriş sanitizasyonu veya kum havuzu olmadan EPECE (), yeni işlev () veya vm.runinNewContext () gibi güvenli olmayan teknikler kullanılarak değerlendirmiştir.
Güvensiz değerlendirme örneği
Aşağıda, savunmasız mantığı gösteren basitleştirilmiş bir kod snippet’i:
javascript// Vulnerable code in evaluateExpression.ts (pre-patch)
export function evaluateExpression(expression: string): any {
return eval(expression); // ⚠️ UNSAFE
}
Bu yaklaşım, bileşen şemasından herhangi bir dizenin JavaScript olarak yürütülmesine izin verdi ve saldırganlara, bileşen JSON dosyalarına kötü niyetli ifadeler enjekte edebildikleri takdirde keyfi kod çalıştırma yeteneği verdi.
Kavram Kanıtı
Tipik bir saldırı, kötü niyetli bir bileşen şemasının hazırlanmasını içeriyordu:
json{
"componentType": "TextField",
"name": "MaliciousRCEComponent",
"properties": {
"label": { "value": "Exploitable Field" },
"placeholder": { "value": "require('child_process').execSync('touch /tmp/rce-success')" }
}
}
Korunmasız yükseltme kod işlemi bunu parsed ve değerlendirdiğinde, tam RCE göstererek sunucudaki kabuk komutunu yürütür.
Saldırı yüzeyi ve gerçek dünya riskleri
- Önkoşuldan istismar: Saldırganın, amplifikasyon stüdyo bileşenlerini oluşturmak veya değiştirmek için ayrıcalıklarla kimlik doğrulamalı erişime ihtiyacı vardı.
- Potansiyel etkiler:
- Arka uç derleme sistemlerinde keyfi kod yürütülmesi
- Veri Defiltrasyonu (örn. AWS Sırları, Kaynak Kodu)
- Kötü niyetli bileşenler aşağı akışta yayıldıysa, hizmet kesintisi veya tedarik zinciri uzlaşması
Yama ve Güvenli Kodlama
AWS, güvenli olmayan değerlendirmeyi kum havuzu, filtrelenmiş bir yaklaşımla değiştirerek 2.20.3 sürümündeki güvenlik açığını düzenledi.
Yeni mantık, aşağıdakileri kullanıyor:
- Siyah listeler tehlikeli anahtar kelimeler (örneğin, gerekli, proses, child_process, değerlendirme)
- Şüpheli girişin erken reddedilmesi ile işlev yapıcısını katı modda kullanır1
javascript// Patched code in evaluateExpression.ts (v2.20.3+)
import { safeEval } from './sandbox';
export function evaluateExpression(expression: string): any {
return safeEval(expression); // Safe wrapper
}
// sandbox.ts
export function safeEval(expr: string): any {
if (!isValidExpression(expr)) {
throw new Error("Unsafe expression detected.");
}
return Function('"use strict"; return (' + expr + ')')();
}
function isValidExpression(expr: string): boolean {
const blacklist = ['require', 'process', 'child_process', 'global', 'Function', 'eval'];
return !blacklist.some(word => expr.includes(word));
}
Azaltma ve öneriler
- Anında yükseltme: Tüm kullanıcıların @aws-amplify/codegen-ui v2.20.3 veya daha sonra güncellemeleri gerekir.
- Bileşen denetimi: Şüpheli veya beklenmedik ifadeler için mevcut tüm bileşen şemalarını gözden geçirin.
- Erişim Denetimleri: Bileşen düzenleme haklarını yalnızca güvenilir kullanıcılarla sınırlayın.
- Çatallı kod: Özel çatalların veya türevlerin yamayı içerdiğinden emin olun.
- Güvenli Kodlama: Kullanıcıya dönük bağlamlarda dinamik kod değerlendirmesinden kaçının; Sıkı giriş validasyonu ve statik analiz araçları kullanın.
Bu olay, kullanıcı tarafından sağlanan ifadelerin yanlış uygulandığında yüksek etkili saldırı vektörleri olabileceği düşük kod platformlarında giriş validasyonu ve kum havuzunun kritik öneminin altını çizmektedir.
AWS Amplify Studio kullanıcıları, ortamlarını güvence altına almak ve devam eden kod güvenliği için en iyi uygulamaları benimsemelidir.
Siber güvenlik becerilerinizi yükseltmek için 150’den fazla pratik siber güvenlik kursuyla elmas üyeliği alın – buraya kaydolun