Dy dobësi të Wasmtime kërkojnë rindërtimin e aplikacioneve ku është integruar
Dy dobësi kritike të Wasmtime mund t’i lejojnë një moduli WebAssembly të kontrolluar nga një sulmues të dalë nga kufizimet që synojnë ta izolojnë. Wasmtime është një runtime, pra software që ekzekuton kod WebAssembly jashtë një shfletuesi web, dhe mund të integrohet gjithashtu si library brenda aplikacioneve të tjera. Bytecode Alliance, që mirëmban projektin, u caktoi të dyja cenueshmërive një rezultat prej 9,9 nga 10 sipas Common Vulnerability Scoring System (CVSS), një matës standard i nivelit të rrezikshmërisë së sigurisë. Release të korrigjuara dolën më 19 dhe 20 tetor, ndërsa mirëmbajtësit nuk kanë raportuar ndonjë sulm.
Cenueshmëritë ndodhen në Cranelift, compiler standard i Wasmtime për shndërrimin e moduleve WebAssembly në udhëzime që mund të ekzekutohen nga një procesor. CVE-2026-115889 prek Wasmtime në çdo arkitekturë procesori, ndërsa CVE-2026-115893 kufizohet në ARM64, të njohur edhe si aarch64. Shfrytëzimi kërkon që një build i cenueshëm i Wasmtime të përpilojë një modul të kontrolluar nga sulmuesi. Kjo i bën mjediset me rrezikun më të lartë shërbimet që pranojnë dhe përpilojnë module të personave të tjerë. Për shembull, Fastly thotë se platforma e saj Compute përdor Wasmtime për të ekzekutuar kodin e klientëve, megjithëse njoftimet nuk identifikojnë shërbimet e prekura dhe as nuk tregojnë se ku mund të arrijë një sulmues pas daljes nga izolimi.
Një sandbox i Wasmtime synon ta kufizojë një modul vetëm te memoria që i është caktuar dhe te host functions, ose aftësitë e miratuara, të ofruara nga aplikacioni. Ai gjithashtu e kufizon ekzekutimin e kodit vetëm në destinacione të kontrolluara. Dy dobësitë i cenojnë këta kufij gjatë compilation. Deri më 26 tetor, asnjëra nga cenueshmëritë nuk figuronte në katalogun Known Exploited Vulnerabilities, të mirëmbajtur nga Agjencia e Sigurisë Kibernetike dhe Sigurisë së Infrastrukturës e SHBA-së (CISA).
Release e prekura ndryshojnë mes dy dobësive. Versionet para 36.0.19, përfshirë linjën 24.x, janë të cenueshme ndaj të dyja problemeve në ARM64 dhe ndaj CVE-2026-115889 në arkitekturat e tjera. Versioni 36.0.19 i korrigjon të dyja. Release nga 37.0.0 deri te 42.x preken nga të dyja cenueshmëritë aty ku zbatohet ARM64. Release nga 43.0.0 deri te 47.x nuk preken nga CVE-2026-115889, por mbeten të cenueshme ndaj dobësisë specifike për ARM64. Versionet nga 48.0.0 deri në 48.0.6 dhe nga 49.0.0 deri në 49.0.3 preken gjithashtu nga CVE-2026-115893. Release e korrigjuara janë 36.0.19, 48.0.7, 49.0.4 dhe 50.0.0 ose versione të mëvonshme.
Wasmtime i përcakton release me numra që janë shumëfish të 12 si versione long-term support (LTS) dhe i mbështet ato për dy vjet. Release e tjera marrin dy muaj mbështetje, ndërsa korrigjimet e sigurisë garantohen vetëm për linjat që mbështeten. Në kohën e publikimit të njoftimeve, vetëm linjat 36, 48, 49 dhe 50 vazhdonin të mbështeteshin. Linjat e tjera nuk morën korrigjim, duke përfshirë degën 24.x LTS, mbështetja e së cilës përfundoi më 20 gusht 2026. Sistemet ARM64 që u përditësuan në prill në 36.0.7, 42.0.2 ose 43.0.1 për shkak të një daljeje të mëparshme nga izolimi në Cranelift mbeten të cenueshme ndaj CVE-2026-115893.
Administratorët duhet të kalojnë në 36.0.19, 48.0.7, 49.0.4 ose 50.0.0, në varësi të linjës së release. Instalimet që nuk mbështeten duhet të migrojnë në njërën prej këtyre degëve të korrigjuara. Përditësimi vetëm i programit command-line të Wasmtime nuk mjafton kur një aplikacion përmban Wasmtime si library. Çdo aplikacion i prekur duhet të rindërtohet duke përdorur një version të korrigjuar. Asnjëri njoftim nuk ofron një workaround, prandaj çdo modul i dhënë nga një palë e jashtme mbetet burim i mundshëm rreziku derisa software përkatës në host të përditësohet dhe të rindërtohet.
CVE-2026-115889 erdhi si pasojë e mënyrës se si versionet më të vjetra të Cranelift regjistronin identifikuesit që përdoren për të gjurmuar vlerat brenda një funksioni. Para versionit 43, këta identifikues zinin fields prej 24 bitësh. Në release builds, një identifikues tepër i madh për atë field mund të pësonte overflow pa prodhuar një error. Për pasojë, Cranelift mund t’i referohej vlerës së gabuar dhe të gjeneronte machine code të pasaktë. Sipas njoftimit, një funksion shumë i madh WebAssembly, ose një funksion i ndërtuar qëllimisht për të krijuar shumë vlera, mund të shkaktonte type confusion dhe të dilte nga sandbox.
Linja kryesore e zhvillimit të Wasmtime e kishte hequr tashmë këtë gjendje përpara se të dokumentoheshin pasojat e saj për sigurinë. Një ndryshim i bashkuar më 18 shkurt i zgjeroi fields e prekura në 32 bitë dhe u përfshi në Wasmtime 43.0.0 më 20 mars. Në atë kohë, ndryshimi u përshkrua si mbështetje për compilation të funksioneve më të mëdha, pa përmendur sigurinë. Dega 36.x LTS mori të njëjtin ndryshim më 19 tetor. Njoftimi nuk thotë se kur mirëmbajtësit e kuptuan ndikimin në siguri.
CVE-2026-115893 lidhet me br_table, një udhëzim WebAssembly që zgjedh njërin nga shumë destinacione kodi duke përdorur një index dhe përdor një destinacion standard kur index gjendet jashtë table. Në ARM64, Cranelift e trajtonte një index jashtë intervalit me një branch që mund të arrinte vetëm rreth 1 MiB larg. Një br_table që përmbante më shumë se rreth 256.000 destinacione mund të bëhej tepër e madhe për atë rreze, duke bërë që branch të drejtohej pa paralajmërim te vendndodhja e gabuar. Mirëmbajtësit thonë se një modul i kontrolluar nga përdoruesi mund ta përdorte këtë gjendje për ta bërë një engine standard të Wasmtime në ARM64 të kalonte te kod arbitrar. Dobësia kishte ekzistuar që prej shtimit të mbështetjes për ARM64 në vitin 2020. Korrigjimi i kalon indexes jashtë intervalit përmes vetë jump table dhe refuzon një br_table me më shumë se 65.520 destinacione.
Të dyja cenueshmëritë janë regjistruar në RustSec, databaza e sigurisë që përdoret nga cargo-audit për të shqyrtuar dependency files Cargo.lock, si RUSTSEC-2026-0380 dhe RUSTSEC-2026-0379. Deri më 26 tetor, databaza e njoftimeve e GitHub kishte shqyrtuar CVE-2026-115889, por nuk kishte një entry të shqyrtuar për CVE-2026-115893. Meqë GitHub thotë se njoftimet e Dependabot kërkojnë një entry të shqyrtuar, përdoruesit nuk duhet të presin që shërbimi t’i njoftojë në atë moment për dobësinë ARM64. Spin, një mjet open-source për aplikacione serverless WebAssembly, përdori Wasmtime 50.0.0 në versionin 4.2.4 më 21 tetor.
Operatorët e faqeve web dhe të aplikacioneve cloud duhet të kontrollojnë si instalimet e drejtpërdrejta të Wasmtime, ashtu edhe software që integron runtime, duke u kushtuar vëmendje të veçantë hosts ARM64 dhe linjave të release që nuk mbështeten. Për organizatat që kanë nevojë për ndihmë në shqyrtimin e mjedisit të tyre teknologjik, AEU-I ofron shërbime IT, infrastrukture dhe konsulence me sigurinë si përparësi. Masa thelbësore korrigjuese mbetet instalimi i një release të korrigjuar të Wasmtime dhe rindërtimi i çdo aplikacioni që përfshin library të cenueshme.