Novoobjavené chyby v rozšíreniach VSCode by mohli viesť k útokom na dodávateľský reťazec

Závažné bezpečnostné chyby odhalené v populárnych rozšíreniach Visual Studio Code by mohli útočníkom umožniť kompromitovať lokálne počítače, ako aj zostavovať a nasadzovať systémy prostredníctvom vývojárskeho integrovaného vývojového prostredia (IDE).

Zraniteľné rozšírenia by mohli byť zneužité na spustenie ľubovoľného kódu v systéme vývojára na diaľku, čo by v konečnom dôsledku mohlo pripraviť cestu pre útoky na dodávateľský reťazec.

Niektoré zo spomínaných rozšírení sú „LaTeX Workshop“, „Rainbow Fart“, „Open in Default Browser“ a „Instant Markdown“, pričom všetky medzi sebou kumulatívne nazbierali približne dva milióny inštalácií.

“Počítače vývojárov zvyčajne majú významné poverenia, čo im umožňuje (priamo alebo nepriamo) interagovať s mnohými časťami produktu,” uviedli výskumníci z open source bezpečnostnej platformy Snyk v hĺbkovom prehľade zverejnenom 26. mája. “Únik súkromného kľúča vývojára môže umožniť zlomyseľnému zainteresovanému naklonovať dôležité časti kódovej základne alebo sa dokonca pripojiť k produkčným serverom.”

Rozšírenia VS Code, ako sú doplnky prehliadača, umožňujú vývojárom rozšíriť editor zdrojového kódu Visual Studio Code od Microsoftu o ďalšie funkcie, ako sú programovacie jazyky a debuggery relevantné pre ich vývojové pracovné postupy. VS Code používa 14 miliónov aktívnych používateľov, čo z neho robí obrovskú útočnú plochu.

Scenáre útoku, ktoré navrhla banka Snyk, o možnosti, že nainštalované rozšírenia by mohli byť zneužité ako vektor útokov na dodávateľský reťazec tým, že by sa využili slabé miesta v zásuvných moduloch na efektívne preniknutie do vývojárskeho systému. Na tento účel výskumníci skúmali rozšírenia kódu VS, ktoré mali zraniteľné implementácie miestnych webových serverov.

V jednom prípade, na ktorý upozornili výskumníci Snyk, by zraniteľnosť prechodu cesty identifikovaná v Instant Markdown mohla byť využitá zlým hercom s prístupom k miestnemu webovému serveru (aka localhost) na získanie akéhokoľvek súboru hosťovaného na počítači jednoduchým oklamaním vývojára, aby klikol na ikonu škodlivá adresa URL.

Ako demonštrácia proof-of-concept (PoC) výskumníci ukázali, že je možné využiť túto chybu na ukradnutie SSH kľúčov od vývojára, ktorý používa VS Code a má Instant Markdown alebo Open in Default Browser nainštalovaný v IDE. Na druhej strane LaTeX Workshop sa zistilo, že je náchylný na zraniteľnosť vstrekovania príkazov v dôsledku neupraveného vstupu, ktorý by sa dal zneužiť na spúšťanie škodlivých dát.

Nakoniec sa zistilo, že rozšírenie s názvom Rainbow Fart má zraniteľnosť zips slip, ktorá umožňuje protivníkovi prepísať ľubovoľné súbory na počítači obete a získať vzdialené spustenie kódu. Pri útoku formulovanom výskumníkmi bol špeciálne vytvorený súbor ZIP odoslaný cez koncový bod „import-voice-package“ používaný doplnkom a zapísaný na miesto, ktoré je mimo pracovného adresára rozšírenia.

“Tento útok by sa dal použiť na prepísanie súborov ako ‘.bashrc’ a nakoniec na vzdialené spustenie kódu,” poznamenali vedci.

Aj keď sa nedostatky v rozšíreniach odvtedy vyriešili, zistenia sú dôležité vzhľadom na sériu bezpečnostných incidentov, ktoré ukazujú, ako sa vývojári stali lukratívnym cieľom útokov, čo s aktérmi hrozieb, ktorí vypúšťajú rôzne malvér, aby ohrozili vývojové nástroje a prostredia. pre iné kampane.

„To, čo bolo jasné pre závislosti tretích strán, je teraz jasné aj pre doplnky IDE – predstavujú vlastné riziko pre aplikáciu,“ uviedli výskumníci Snyk Raul Onitza-Klugman a Kirill Efimov. “Sú potenciálne nebezpečné kvôli svojim vlastným písaným kódom a závislostiam, na ktorých sú postavené. To, čo tu bolo ukázané pre VS Code, môže byť použiteľné aj pre iné IDE, čo znamená, že slepá inštalácia rozšírení alebo doplnkov nie je bezpečná ( nikdy nebolo).“