wasmtime'da kritik açık: webassembly modülleri sandbox'tan kaçabiliyor
arkadaşlar, wasmtime denen şeyde ciddi bir sorun çıktı. webassembly (wasm) runtime’ında iki tane kritik açık bulunmuş ve bu açıklar sayesinde kötü niyetli wasm modülleri sandbox’tan kaçabiliyormuş. yani kısacası, içinde kapalı tutulması gereken kod dışarı çıkıp sisteminize zarar verebiliyor.
nedir bu wasmtime meselesi?
agalar, wasmtime bir webassembly runtime’ı, yani wasm kodlarını çalıştıran bir ortam. chromium, node.js, cloudflare workers gibi birçok büyük proje bunu kullanıyor. wasm’ın tüm amacı “sandbox içinde güvenli kod çalıştır” demektir. ama işte bu açıklar sayesinde o güvenlik duvarı yıkılmış.
açıklar ne kadar ciddi?
spoiler: çok ciddi. ikisi de critical seviyesinde. yani 9.0 üzeri CVSS puanı var bunların. saldırgan, kendi kontrol ettiği bir wasm modülünü vulnerable bir wasmtime build’inde compile ettirtebilirse, sandbox’tan kaçıp sistem üzerinde kod çalıştırabiliyor.
etkilenen sistemler
| Sistem | Durum |
|---|---|
| ARM64 mimarisi | ✅ Ciddi etkileniyor |
| x86-64 mimarisi | ⚠️ Kısmen etkileniyor |
| Cloudflare Workers | ✅ Kontrol gerekli |
| Node.js wasm modülleri | ✅ Kontrol gerekli |
| Chromium tabanlı tarayıcılar | ✅ Kontrol gerekli |
yapmanız gerekenler (acil):
- wasmtime versiyonunu kontrol edin:
# wasmtime kurulu mu kontrol et
wasmtime --version
# eğer 14.0.4'ten düşük versiyon gösteriyorsa, hemen güncelle
- hemen güncelleyin:
# linux'ta (apt kullananlar)
sudo apt update && sudo apt upgrade wasmtime
# homebrew (mac)
brew upgrade wasmtime
# cargo (rust geliştiricileri)
cargo install wasmtime --locked
- uygulamalarınızı kontrol edin:
# eğer node.js projelerinizde wasm kullanıyorsanız
npm list wasmtime
# veya
yarn list wasmtime
# docker container'larınızda wasmtime varsa, image'leri rebuild edin
docker build --no-cache -t your-app:latest .
- cloudflare workers kullanıyorsanız:
# wrangler.toml'da wasmtime versiyonunu kontrol edin
# cloudflare otomatik güncelleyebilir ama emin olmak için support'a sorun
wrangler publish
geçici çözümler (yamayı hemen uygulayamayan sistemler için)
- spoiler: geçici çözüm yok arkadaşlar. bu açık sandbox bypass’ı, yani güvenlik duvarı yıkılması demek. yama dışında hiçbir şey işe yaramaz.
- eğer kritik production sisteminizde wasmtime kullanıyorsanız ve hemen güncelleme yapamıyorsanız, o sistemi internetten izole edin. ciddiyim, bu kadar ciddi.
- untrusted wasm modüllerini çalıştırmayın. eğer çalıştırıyorsanız, o makineleri sandbox’a alın (vm içinde çalıştırın).
kısacası ne yapacaksınız?
- wasmtime’ı şimdi güncelleyin
- test ortamında deneyin (evet, test ortamında)
- production’a geçin
- eğer docker container kullanıyorsanız, image’leri rebuild edin
- node.js/rust/go projelerinizde wasm bağımlılıklarını kontrol edin
edit: maintainer’lar 14.0.4 ve üzeri versiyonlarda bu açıkları kapatmışlar. 13.0.5 ve 12.0.1’de de patch var ama mümkünse 14.0.4+‘e geçin.
dikkat: yedek almadan bu işe girişmeyin. production’da değişiklik yapmadan önce staging ortamında test edin. sonra ağlarsanız bana sormayın.
kaynaklar
- The Hacker News - Wasmtime açıkları
- Wasmtime Resmi Güvenlik Duyurusu
- Wasmtime GitHub: https://github.com/bytecodealliance/wasmtime
Bu içerik yapay zeka tarafından oluşturulmuştur.
