Przez ponad rok wystarczyło kliknąć złośliwie spreparowany link na Twitterze, a konto użytkownika mogło zostać przejęte i wykorzystane do tweetowania, retweetowania, polubienia lub blokowania innych użytkowników. Luka została ujawniona publicznie w środę, co doprowadziło do jej szybkiego naprawienia – i zbesztania użytkownika, który ją ujawnił.
Zamiast otrzymać nagrodę pieniężną z programu bug bounty Twittera, firma zakazała użytkownikowi udziału w programie.
Zgłosiłem ten błąd i nie otrzymałem nagrody. Powiedzieliście mi, że ten błąd istnieje od roku. Widząc, że nie naprawiliście go przez tak długi czas, wydaje się, że ten błąd nie jest ważny, więc upubliczniłem go. pic.twitter.com/R9X4k8KqMZ
– rabbit (@rabbit_2333) 12 grudnia 2023
Ujawnienia dokonał pseudonimowy użytkownik Twittera @rabbit_2333, który podzielił się tym, jak można wykorzystać lukę XSS w subdomenie analitycznej Twittera, aby dać atakującemu dostęp do profilu strony trzeciej i możliwość zrobienia prawie wszystkiego oprócz zmiany hasła do konta.
Włamanie wykorzystało cross-site scripting (XSS) i cross-site request forgery (CSRF). Ataki XSS pozwalają złośliwym podmiotom na wstrzykiwanie szkodliwych skryptów na strony internetowe, podczas gdy CSRF nakłania użytkowników do wykonywania działań w aplikacji internetowej, w której są już uwierzytelnieni.
Błąd na Twitterze wykorzystywał obie te metody, co czyni go szczególnie niebezpiecznym. Wykorzystując XSS, atakujący mogli ominąć zabezpieczenia sieciowe i uzyskać nieautoryzowany dostęp do kont użytkowników.
W miarę rozprzestrzeniania się wiadomości o tej luce, Chaofan Shou, współzałożyciel platformy do analizy inteligentnych kontraktów Fuzz.Land, wkroczył, aby podać więcej szczegółów. Ujawnił on, jak łatwo było zbudować potężne narzędzie exploit w oparciu o tę niezałataną lukę, a także przedstawił szczegółowe wyjaśnienie sposobu działania błędu i potencjalnych szkód, jakie może on spowodować.
Oto pełne ujawnienie luki w zabezpieczeniach Twitter XSS + CSRF.
Kliknięcie spreparowanego linku lub przejście do niektórych spreparowanych stron internetowych pozwoliłoby atakującym na przejęcie konta użytkownika (publikowanie, polubienie, aktualizacja profilu, usunięcie konta itp.) pic.twitter.com/MVJ1MvHt6H
– Chaofan Shou (@shoucccc) December 13, 2023
Po wpisie
Shou nastąpiły komentarze badacza cyberbezpieczeństwa Sama Suna, który udzielił praktycznych porad, jak uniknąć exploita, podkreślając brak bezpieczeństwa nawet dla osób korzystających z Twittera na swoich telefonach za pośrednictwem przeglądarek.
Sun zauważył, że zorientowana na prywatność przeglądarka Brave uniemożliwiłaby działanie exploita.
Reakcja zespołu X była szybka po tym publicznym ujawnieniu. W ciągu kilku godzin załatano lukę, co potwierdziła firma Sun. Pomimo potencjalnej wagi usterki, @rabbit_2333 nie został jednak nagrodzony za odkrycie. Zamiast tego poinformowano go, że został wykluczony z programu bug bounty.
„Dziękuję Twitter” – napisał użytkownik, załączając zrzuty ekranu z powiadomieniem o zablokowaniu przez Twittera.
Gdy pojawiły się komentarze na temat tego, czy @rabbit_2333 powinien był opublikować informację o błędzie, czy nie, użytkownik twierdził, że początkowo postępował zgodnie z odpowiednim protokołem. Użytkownik powiedział, że dopiero gdy X odrzucił wagę błędu i jego kwalifikowalność do nagrody, został on upubliczniony.
Zgłosiłem ten błąd i nie otrzymałem nagrody. Powiedzieliście mi, że ten błąd istnieje od roku. Widząc, że nie naprawiliście go przez tak długi czas, wydaje się, że ten błąd nie jest ważny, więc upubliczniłem go. pic.twitter.com/R9X4k8KqMZ
– rabbit (@rabbit_2333) 12 grudnia 2023
Celem programów bug bounty jest zapobieganie incydentom takim jak ten, zachęcając deweloperów do odkrywania luk w zabezpieczeniach nagrodami i umową o nieujawnianiu ich podczas naprawiania przez firmę.
Programy bug bounty są powszechne w rozwoju oprogramowania, a także w kryptowalutach, szczególnie w przypadku inteligentnych kontraktów. Chociaż prowadzenie takich programów może być wyzwaniem, zapobieganie naruszeniom bezpieczeństwa jest zwykle postrzegane jako warte wysiłku.
Programy motywacyjne typu „white hat” i „bug-bounty” zazwyczaj wymagają zachowania poufności luk w zabezpieczeniach. Ale często mają one również daty wygaśnięcia, aby zapewnić, że twórca oprogramowania działa w odpowiednim czasie.