VMTech
Razgovarajmo

Zlonamerna build skripta pogodila Rust pakete na crates.io

Zlonamerna build skripta pogodila Rust pakete na crates.io

Rust Project je uklonio zlonamerne verzije paketa arrayref 0.3.10, internment 0.8.7 i append-only-vec 0.1.9 sa registra crates.io. Izdanja su objavljena 20. avgusta 2026. preko kompromitovanog naloga održavaoca i bila su dostupna između 86 i 107 minuta, dok arrayref beleži 245.385.500 ukupnih preuzimanja.

U sva tri paketa dodata je zavisnost proc-macro1, koja imitira široko korišćeni proc-macro2. Rizik nije zavisio od toga da li aplikacija poziva kod pogođenih biblioteka: dovoljno je bilo da Cargo razreši zavisnost i pokrene izgradnju projekta.

Build proces kao put do izvršavanja koda

Bibliotečki kod paketa proc-macro1 predstavljao je kopiju proc-macro2, pa je izgradnja mogla da prođe bez očigledne greške. Međutim, njegova build skripta je pri kompajliranju sastavljala adresu za preuzimanje i C2 adresu iz Base64 fragmenata, zatim preuzimala i izvršavala udaljeni teret.

Na Unix i macOS sistemima teret se upisivao kao /tmp/rust-setup, dobijao dozvolu za izvršavanje i pokretao odvojeno. Na Windowsu je skripta upisivala PowerShell datoteku u privremeni direktorijum i pokretala je skriveno preko VBScript pokretača i wscript.exe. Kôd je pritom instalirao prilagođeni proveravač sertifikata koji bezuslovno prihvata TLS provere.

Nextron Systems GmbH je prijavio slučaj, a Rust Security Response Team je u 07:15 UTC potvrdio da proc-macro1 sadrži zlonamernu build skriptu. Tim je naveo da ne smatra autora arrayref paketa zlonamernim, već da su računar ili pristupni podaci održavaoca verovatno kompromitovani.

Zašto su rasponi verzija povećali izloženost

Vlasnički nalog je u istom minutu povukao arrayref verzije od 0.3.5 do 0.3.9, ostavljajući 0.3.10 kao verziju na koju Cargo ne bi upozorio kao na povučeno izdanje. Zavisnosti koje prihvataju raspon 0.3.x mogle su da prihvate i 0.3.10. U registru postoje 403 paketa koja zavise od arrayref, a jedan provereni lanac vodi od winit preko sctk-adwaita i tiny-skia do arrayref.

RustSec upozorenja za sva tri paketa ne beleže dokaz da je neka zlonamerna verzija zaista korišćena. Nema dodeljenog CVE identifikatora niti objavljene zakrpljene verzije. Rust Security Response Team je tokom odgovora ponovo označio prethodno povučene verzije arrayref kao dostupne, a preporuka je da se koristi arrayref 0.3.9 ili stariji.

Koraci za razvojne i bezbednosne timove

Timovi treba da pretraže ~/.cargo/registry/cache radi uklonjenih fajlova paketa i provere da li se u zaključanim zavisnostima ili kešu pojavljuju arrayref 0.3.10, internment 0.8.7, append-only-vec 0.1.9, proc-macro1, proc-macro-en, aovine, arone, aronenao ili tinymember. Važno je proveriti i mrežne veze ka 23.254.165.112, kao i fajlove koje je skripta ostavljala na krajnjim sistemima.

Širi obrazac napada na ekosisteme paketa vidljiv je i u kompromitovane npm lance i zloupotrebu poverenja u zavisnosti kroz kompromitovane npm lance i zloupotrebu poverenja u zavisnosti. Cargo još nema objavljeni ekvivalent globalnom vremenskom zadržavanju novijih paketa, iako je predlog opcije global-min-publish-age bio u završnoj raspravi dva dana pre incidenta.

Za poslovanje je praktičan zaključak da build okruženje treba tretirati kao izvršno bezbednosno područje: zaključati proverene verzije, pregledati promene manifesta, izolovati izgradnje i jasno nadzirati novouvedene zavisnosti pre njihovog uvođenja u produkciju.

#rustsecurity#supplychain#buildsecurity#malware
Otvorena analitika
Na sajtu 0 pregleda
min čitanja 4 21.08.2026
Instagram

Zlonamerna build skripta pogodila Rust pakete na crates.io

Otvorite objavu na Instagramu ↗