12:18
8/12/2020

* Poważny błąd w Microsoft Teams

Zanim w panice wylogujecie się z trwającego właśnie spotkania na Teamsach i zarządzicie przejście na Zooma lub Meeta, spokojnie, błąd został już załatany. Ale to na czym polegało jego wykorzystanie plus cała historia łatania zasługuje na kilka słów.

Wszystko opisał Oskars Vegeris, odkrywca błędu, który nie jest zbyt zadowolony z tego, jak Microsoft jego znalezisko zakwalifikował (Important, Spoofing w kategoriach programu bug bounty O365, co miało wpływ na wysokość wypłaty nagrody). Autor przynaje jednak dalej, że w kontekście desktopowej wersji aplikacji Microsoft przyznał dziurze rating “Critical, Remote Code Execution”. Ale do rzeczy, na czym błąd polegał i co trzeba było zrobić, aby pohackować współrozmówców?

Zedytuj wiadomość i dodaj ten znak

Aby “zhackować” współrozmówców wystarczyło zedytować swoją wiadomość i umieścić w niej wstrzyknięcie AngularJS omijające filtr {{3*333}\u0000} po którym można było dodać kod omijający politykę CSP, efektywnie wykorzystując podatność typu stored XSS. Całość można przekuć na stworzenie samoreplikującego się “robaczka” poprzez payload polegający na repostowaniu “złośliwej” informacji na inne grupy).

file download webview preload RCE

Za pomocą tej podatności można było wykradać tokeny SSO, a zatem otrzymać również dostęp do dokumentów O356 kontekście ofiary nie mówiąc już o pełnej kontroli nad Teamsami i dostępem do mikrofonu/kamery.

Błąd został zgłoszony w sierpniu i załatany w końcówce października. Teraz opis ujrzał światło dzienne. Mniej więcej w tym samym czasie odkryto podobny błąd w Slacku.

Przeczytaj także:

Ten wpis pochodzi z naszego linkbloga *ptr, dlatego nie widać go na głównej.
*ptr możesz czytać przez RSS albo przez sidebar po prawej stronie serwisu.

6 komentarzy

Dodaj komentarz
  1. Angular? A nie React przypadkiem? O ile mi wiadomo to Teamsy są napisane z użyciem react-northstar (odmiana Fluent UI – https://github.com/microsoft/fluentui).

  2. Nic nie stoi przecież na przeszkodzie, by używać webcomponentów (napisanych w Reacie) w angularowym projekcie.

  3. Przecież nic nie stoi na przeszkodzie, by wykorzystywać webcomponenty napisane w Reacie w angularowym projekcie.

  4. Przecież nic nie stoi na przeszkodzie, by wykorzystywać webcomponenty napisane w Reacie w angularowym projekcie.

  5. Przecież nic nie stoi na przeszkodzie, by wykorzystywać webcomponenty napisane w Reacie w angularowym projekcie.

  6. Adrian, ale mamy echo… echo… echo… echo…
    A może to Ciebie ta Laska z Tindera szuka? :)

Odpowiadasz na komentarz Agalin

Kliknij tu, aby anulować

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: