CVE-2026-34971
Təsvir
Wasmtime WebAssembly üçün bir runtime-dır. 32.0.0 versiyasından etibarən 36.0.7, 42.0.2 və 43.0.1 versiyalarından əvvəlki versiyalarda, Wasmtime-ın Cranelift kompilyasiya backend-ində aarch64 platformasında yığınla (heap) girişlərin müəyyən forması yerinə yetirilərkən səhv ünvanın istifadə edilməsinə səbəb olan bir xəta mövcuddur. Qonaq WebAssembly modulunda aşkar sərhəd yoxlamaları ilə birlikdə bu, eyni ünvan üçün iki fərqli hesablamanın olduğu vəziyyət yarada bilər: biri sərhədi yoxlamaq üçün ünvan, digəri isə yükləmək üçün ünvan. Ünvanlardakı bu fərqlilik o deməkdir ki, qonaq modul sərhəd yoxlamasından keçə bilər, lakin daha sonra fərqli bir ünvanı yükləyər. Bunların birləşməsi, qonaq WebAssembly-nin host yaddaşına müraciət edərkən ixtiyari oxuma/yazma primitivini aktivləşdirir. Bu, qonaqların host yaddaşını ixtiyari şəkildə oxuya və yaza bilməsi səbəbindən sandbox-dan çıxışa (sandbox escape) imkan verir. Sandbox məhdudiyyətlərinin yan keçilməsi və bu vəziyyətin baş verməsi üçün bir neçə şərtin hamısı eyni anda yerinə yetirilməlidir. Yükləmənin bu yanlış kompilyasiya olunmuş forması yalnız 64-bit WebAssembly xətti yaddaşlarında və ya Config::wasm_memory64 aktiv olduqda baş verir. 32-bit WebAssembly buna təsir etmir. Spectre mitigasiyaları və ya siqnallara əsaslanan tələlər (signals-based-traps) deaktiv edilmiş olmalıdır. Spectre mitigasiyaları aktiv olduqda, problemli yükləmə forması generasiya edilmir. Siqnallara əsaslanan tələlər deaktiv edildikdə, Spectre mitigasiyaları da avtomatik olaraq deaktiv edilir. Cranelift-dəki konkret xəta, amt sabit olduğu halda load(iadd(base, ishl(index, amt))) formasındakı yükləmənin yanlış kompilyasiyasıdır. amt dəyəri müəyyən bir dəyəri yoxlamaq üçün yanlış şəkildə maskalanır və bu yanlış maska Cranelift-in təlimat seçimi zamanı bu aşağısalma qaydasını (lowering rule) səhvən pattern-match etməsinə səbəb olur ki, bu da WebAssembly və Cranelift semantikasından kənara çıxır. Məsələn, bu yanlış aşağısalma, düzgün ünvanın hesablanması daha kiçik bir dəyərə dövr etməli olduğu halda, nəzərdə tutulandan çox daha uzaqdakı bir ünvanı yükləyəcəkdir. Bu zəiflik 36.0.7, 42.0.2 və 43.0.1 versiyalarında aradan qaldırılmışdır.
Necə düzəltmək olar
- bytecodealliance wasmtime36.0.7, 42.0.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| bytecodealliance wasmtime | 32.0.0 ≤ v < 36.0.7, 37.0.0 ≤ v < 42.0.2, 43.0.0 | 36.0.7, 42.0.2 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.