Kompromitovana izdanja OVHcloud CLI-ja i rizik za tajne

Napadač je 19. oktobra preko kompromitovanog GitHub naloga saradnika zamenio arhive u pet postojećih izdanja alata OVHcloud CLI, od v0.11.0 do v0.15.0. Zlonamerni binarni fajlovi bili su dostupni od 12:47 do 14:21 UTC, najviše 94 minuta, za macOS, Linux x86_64 i arm64, kao i Windows x86_64.
OVHcloud je uklonio zamenjene arhive i istog dana objavio čisti v0.16.0 kao neizmenjivo izdanje. Izvorni kod, oznake izdanja i kompanijski proces izgradnje nisu bili menjani: napadač je direktno postavio novu Go izgradnju u priloge već objavljenih GitHub izdanja.
Ko je bio izložen
Rizik se odnosi na korisnike koji su u navedenom vremenskom prozoru instalirali ili ažurirali CLI putem zvanične instalacione skripte, ručno preuzeli arhivu sa GitHub stranice izdanja ili koristili CI zadatak koji preuzima datoteku bez fiksiranog heša. Pogođen može biti i ugrađeni mehanizam ažuriranja iz verzija v0.12.0, v0.13.0 i v0.14.0 na macOS-u i Linux-u, kada je alat instaliran skriptom ili ručno.
U izdanju v0.15.0 zamenjeno je šest priloga: po dve arhive za macOS i Linux, jedna za Windows x86_64 i datoteka checksums.txt. Time su objavljeni heševi odgovarali izmenjenim binarnim fajlovima. Arhive za Linux i386, Windows i386, Windows arm64 i WebAssembly nisu menjane.
Instalacije preko Homebrew-a nisu bile izložene jer je tadašnji cask sadržao originalne SHA-256 vrednosti, pa bi neusaglašeno preuzimanje bilo odbijeno. Van opisanog puta ostali su i go install, izgradnja iz izvornog koda i Docker slika, koja nije bila ponovo građena u trenutku zamene. Kopija alata instalirana pre 12:47 UTC i bez kasnijeg ažuriranja takođe nije bila zamenjena.
Provera i mere nakon sumnjivog pokretanja
OVHcloud navodi da novi v0.16.0 nosi atestaciju izdanja, odnosno potpisani zapis o njegovim datotekama. Preuzeta arhiva može se proveriti komandom gh release verify-asset v0.16.0 FILE. Za sumnjivi v0.15.0 Linux arm64 primer, objavljeni SHA-256 zamenjene arhive je 3833daffcaaaab27e4e0e0833240ffcb1df8df648f4ec0bc4a75c176e28933cb, dok je originalna vrednost 5c2beb56e6d83a4b426565a1557791ef759316abcc4effb38dd627c90aeb80e0.
Ako je zamenjeni binarni fajl pokrenut, preporuka je da se sa drugog računara promene sve tajne koje su bile čitljive na pogođenom sistemu. To obuhvata i OVHcloud API pristupne podatke koje CLI čuva u datoteci ~/.ovh.conf ili čita iz promenljivih okruženja, ali nije ograničeno samo na njih. Tek nakon rotacije tajni treba ukloniti stari program i instalirati v0.16.0.
Zašto su neizmenjiva izdanja važna
GitHub dozvoljava korisniku sa pravom upisa da obriše priloge izdanja i postavi nove pod istim imenima, pri čemu URL za preuzimanje ostaje isti ako nije uključena neizmenjivost izdanja. OVHcloud je saopštio da ta opcija ranije nije bila aktivirana, dok CI/CD tokovi nisu bili pogođeni. Podešavanje je sada uključeno, ali štiti samo izdanja napravljena nakon aktivacije.
Za poslovne timove incident potvrđuje potrebu da automatizovana preuzimanja koriste fiksirane heševe i da se poverenje ne zasniva samo na nepromenjenom URL-u ili nazivu verzije. Uz proveru integriteta, neizmenjiva izdanja i brzo rotiranje akreditiva ostaju ključne mere kada se naruši lanac isporuke softvera.

