Редакторът на код и средата за разработка Visual Studio Code (VS Code) на Microsoft съдържа недостатък, който позволява на злонамерени разширения да извличат токени за удостоверяване, съхранявани в мениджъри на удостоверения за Windows, Linux и macOS.

Тези токени се използват за интегриране с различни услуги и API на трети страни, като Git, GitHub и други платформи за кодиране, така че кражбата им може да има значителни последици за сигурността на данните на компрометираната организация, като може да доведе до неоторизиран достъп до системата, нарушаване на сигурността на данните и др.

Недостатъкът е открит от изследователи на Cycode, които са го докладвали на Microsoft заедно с разработената от тях работеща концепция за доказване на съществуването (PoC). Въпреки това технологичният гигант реши да не отстранява проблема, тъй като не се очаква разширенията да бъдат изолирани от останалата част от средата.

Кражба на тайни с разширения

Проблемът със сигурността, открит от Cycode, се дължи на липсата на изолация на удостоверителните знаци в „Secret Storage“ на VS Code – API, който позволява на разширенията да съхраняват удостоверителни знаци в операционната система.

Това се прави с помощта на Keytar, обвивката на VS Code за комуникация с мениджъра на удостоверенията на Windows (в Windows), ключодържателя (в macOS) или ключодържателя (за Linux).

Това означава, че всяко разширение, работещо във VS Code, дори злонамерено, може да получи достъп до тайното хранилище и да злоупотреби с Keytar, за да извлече всички съхранени токени.

Изследователят на Cycode Алекс Илгаев заяви, че освен вградената автентикация на GitHub и Microsoft, всички запазени удостоверения от използването на разширения на трети страни.

„Освен вградената автентикация на Github/Microsoft, всички запазени токени във VSCode идват от разширения“, каза Илгаев . „Те са дефинирани или от официални разширения (от Microsoft), като Git, Azure, Docker/Kubernetes и т.н., или от разширения на трети страни, като CircleCI, GitLab, AWS.“

 

След като откриват проблема, изследователите на Cycode започват да експериментират, като създават злонамерено разширение за кражба на токени за CircleCI – популярна платформа за кодиране с разширения VS Code. Те са направили това, като са модифицирали разширението на CircleCI, за да изпълни команда, която да разкрие защитения му токен и дори да го изпрати направо на сървъра на изследователя.

Постепенно те разработили по-универсален метод за атака, за да извлекат тези тайни, без да се намесват в кода на целевото разширение.

Ключът към този процес беше откриването на факта, че всяко разширение на VS Code е оторизирано за достъп до ключодържателя, тъй като се изпълнява от приложение, на което операционната система вече е предоставила достъп до ключодържателя.

„Разработихме доказателство за концепцията за злонамерено разширение, което успешно извличаше токени не само от други разширения, но и от вградената във VS Code функционалност за влизане и синхронизиране на акаунти в GitHub и Microsoft, представяйки атака „кражба на токени“.“ – заявиха от Cycode.
След това изтеглените токени трябваше да бъдат декриптирани и Cycode установи, че алгоритъмът, използван за криптиране на токените, е AES-256-GCM, който обикновено е безопасен. Въпреки това ключът, използван за криптиране на токените, е получен от пътя на текущия изпълним файл и идентификатора на машината, което улеснява пресъздаването на ключа.

Извлечените токени бяха декриптирани от персонализиран JS скрипт, стартиран в изпълнимия файл Electron на VS Code, който дешифрира и отпечатва всички пароли на локално инсталираните разширения.

Вторият недостатък, открит от изследователите на Cycode, се състои в това, че функцията „getFullKey“ извлича тайни по зададен „extensionId“, който се получава от името и издателя на разширението.

Този проблем позволява на всеки да модифицира тези полета и да измами VS Code да му предостави достъп до защитените токени на друго разширение.

Cycode тества това с помощта на PoC разширение, което отново имитира CircleCI; те обаче отбелязват, че възпроизвеждането на всяко друго разширение и получаването на достъп до тайните му би било тривиално.

Разкриване и (не)поправяне

От Cycode заявяват, че са разкрили проблема пред Microsoft преди два месеца, като дори са демонстрирали своето PoC разширение и способността му да краде съхранени токени за разширения.

Независимо от това инженерите на Microsoft не са сметнали това за проблем на сигурността и са решили да запазят съществуващия дизайн на рамката за управление на съхранението на тайните на VS Code.

Инфографики и базова информация: Cycode

 

 

Източник: e-security.bg

Подобни публикации

16 юни 2025

Grafana — над 46 000 сървъра все още са уязвими

Над 46 000 Grafana сървъри с публичен достъп все още изпълняват неа...
16 юни 2025

WestJet потвърди кибератака, засегнала нейни си...

WestJet, втората по големина авиокомпания на Канада, потвърди, че н...
16 юни 2025

Anubis с нов разрушителен механизъм

Групата Anubis, действаща като платформа „рансъмуер като услуга“ (R...
16 юни 2025

Потребителите искат старите функции да се върна...

Голяма част от потребителите на Windows 11 смятат, че с новото изда...
16 юни 2025

Глобалното прекъсване на услуги на Google Cloud...

Големият срив на Google Cloud в четвъртък, 12 юни, засегна широк кр...
16 юни 2025

Хакери използват изтрити и изтекли покани за Di...

Хакери са открили начин да превземат изтрити и изтекли покани за съ...
15 юни 2025

Microsoft проучва проблем със стартиране на Sur...

Microsoft потвърди за технически проблем, при който устройства Surf...
Бъдете социални
Още по темата
16/06/2025

Потребителите искат старите...

Голяма част от потребителите на Windows...
15/06/2025

Microsoft проучва проблем с...

Microsoft потвърди за технически проблем, при...
15/06/2025

Microsoft съобщава за пробл...

Microsoft проучва технически проблем, който засяга...
Последно добавени
16/06/2025

Grafana — над 46 000 сървър...

Над 46 000 Grafana сървъри с...
16/06/2025

WestJet потвърди кибератака...

WestJet, втората по големина авиокомпания на...
16/06/2025

Anubis с нов разрушителен м...

Групата Anubis, действаща като платформа „рансъмуер...
Ключови думи

Абонамента е почти завършен.

На посоченият от Вас e-mail е изпратено съобщение за потвърждаване на абонамента.

Моля, проверете електронната си поща за да потвърдите.

Благодарим за доверието!