Atakos prieš kodo redaktorius, dėl kurių atsiranda failų nutekėjimas atidarant šaltinio kodus, demonstravimas

Buvo parodytas „VSCode“ kodo rengyklės atakos metodas, leidžiantis perkelti savavališkus failus pagal dabartinio vartotojo teises atidarant specialiai sukurtą šaltinio kodą redaktoriuje. Šioje demonstracijoje atidarant Rust kodą, kuris naudoja procedūrinę makrokomandą, jis užmezga ryšį su pagrindiniu kompiuteriu 127.0.0.1:8080 ir siunčia failo „~/.ssh/id_rsa“ turinį su vartotojo SSH raktais.

Norint pasiekti kompromisą, pakanka tiesiog atidaryti failą su kodu, neatliekant jokių kitų veiksmų su projektu. Kad pavyzdys veiktų, VSCode reikalauja rūdžių analizatoriaus įskiepio (įrišimo standartinio rustc kompiliatoriaus viršuje) ir įrankių, skirtų darbui su kodu Rust kalba, buvimas sistemoje. Problema susijusi su procedūrinių makrokomandų išplėtimu pradinės kodo analizės metu. Panašų efektą taip pat galima pasiekti kompiliavimo metu naudojant komandą „krovinio statymas“.

Pažymima, kad problema gali turėti įtakos kitiems kodo redaktoriams ir programavimo kalboms. VSCode ir rust-analyze naudojami tik atakos vektoriui parodyti. Teoriškai bet kuri kodo rengyklė, atskleidžianti procedūrines makrokomandas, leidžiančias kurti sintaksės plėtinius ir vykdyti kodą kompiliavimo metu, yra jautri problemai. Tyrėjas iš pradžių tyrė kenkėjiškų veiksmų galimybę kodo kompiliavimo metu, tačiau atrado, kad procedūrinės makrokomandos buvo išplėstos, kai šaltinio kodas buvo apdorojamas kodo rengyklėse. Ataka tikriausiai gali paveikti kitas programavimo kalbas, pavyzdžiui, Java, anotacijų apdorojimas gali būti manipuliuojamas panašiai.

Atkurti vaizdo


Šaltinis: opennet.ru
Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster