Al meer dan een jaar is het voldoende om op een kwaadaardige link op Twitter te klikken om je account over te nemen en te gebruiken om te tweeten, retweeten, liken of andere gebruikers te blokkeren. De kwetsbaarheid werd woensdag openbaar gemaakt, wat leidde tot een snelle oplossing – en een uitbrander voor de gebruiker die de kwetsbaarheid openbaar maakte.
In plaats van het verdienen van een geldelijke beloning van Twitter’s bug bounty programma, heeft het bedrijf de gebruiker verbannen van deelname.
Ik heb deze bug gerapporteerd en geen bounty ontvangen. U vertelde me dat deze bug al een jaar bestaat. Aangezien je het al zo lang niet hebt opgelost, lijkt het erop dat deze bug niet belangrijk is, dus heb ik het openbaar gemaakt. pic.twitter.com/R9X4k8KqMZ
– rabbit (@rabbit_2333) December 12, 2023
De onthulling werd gedaan door de pseudonieme Twitter-gebruiker @rabbit_2333, die deelde hoe een XSS-kwetsbaarheid op het analytics-subdomein van Twitter kon worden misbruikt om een aanvaller toegang te geven tot het profiel van een derde partij en de mogelijkheid om bijna alles te doen, behalve het wachtwoord van het account wijzigen.
De hack maakte gebruik van cross-site scripting (XSS) en cross-site request forgery (CSRF). XSS-aanvallen stellen kwaadwillenden in staat om schadelijke scripts in webpagina’s te injecteren, terwijl CSRF gebruikers verleidt om acties uit te voeren op een webapp waar ze al geverifieerd zijn.
De Twitter-bug maakte gebruik van beide methoden en is daarom bijzonder gevaarlijk. Door misbruik te maken van XSS konden aanvallers de webbeveiligingsmaatregelen omzeilen en ongeautoriseerde toegang krijgen tot gebruikersaccounts.
Toen het nieuws over deze kwetsbaarheid zich verspreidde, kwam Chaofan Shou, medeoprichter van het smart contract analyse platform Fuzz.Land, met meer details. Hij onthulde hoe eenvoudig het was om een krachtige exploit-tool te bouwen op basis van deze ongeadresseerde kwetsbaarheid en gaf een gedetailleerde uitleg over de werking van de bug en de potentiële schade die het zou kunnen veroorzaken.
Hier is de volledige openbaarmaking van de Twitter XSS + CSRF kwetsbaarheid.
Door op een bewerkte link te klikken of naar een bewerkte webpagina te gaan, kunnen aanvallers je account overnemen (berichten plaatsen, liken, je profiel bijwerken, je account verwijderen, enzovoort) pic.twitter.com/MVJ1MvHt6H
– Chaofan Shou (@shoucccc) December 13, 2023
Shou’s artikel werd gevolgd door commentaar van cybersecurity-onderzoeker Sam Sun, die praktisch advies gaf over hoe de exploit te vermijden, waarbij hij het gebrek aan veiligheid benadrukte, zelfs voor degenen die Twitter via browsers op hun telefoon gebruiken.
Sun merkte op dat de privacy-gerichte webbrowser Brave zou hebben voorkomen dat de exploit zou werken.
Het X-team reageerde snel na deze openbare onthulling. Binnen enkele uren hadden ze het lek gedicht, zoals bevestigd door Sun. Ondanks de potentiële ernst van het lek werd @rabbit_2333 echter niet beloond voor de ontdekking. In plaats daarvan kregen ze de melding dat ze verbannen waren uit het bug bounty programma.
“Bedankt Twitter,” schreef de gebruiker, met screenshots van de verbanningsmelding van Twitter.
Terwijl het commentaar binnenstroomde over de vraag of @rabbit_2333 wel of niet over de bug had moeten posten, beweerde de gebruiker dat ze in eerste instantie het juiste protocol hadden gevolgd. Pas toen X de ernst en het in aanmerking komen voor een bounty afwees, maakten ze het openbaar, zei de gebruiker.
Ik heb dit bugrapport ingediend en geen bounty ontvangen. Jullie vertelden me dat deze bug al een jaar bestaat. Aangezien je het al zo lang niet hebt opgelost, lijkt het erop dat deze bug niet belangrijk is, dus heb ik het openbaar gemaakt. pic.twitter.com/R9X4k8KqMZ
– rabbit (@rabbit_2333) December 12, 2023
Het doel van bug bounty programma’s is om incidenten zoals deze te voorkomen, door ontwikkelaars te stimuleren om veiligheidslekken te ontdekken met beloningen en een overeenkomst om deze niet openbaar te maken terwijl het bedrijf dingen repareert.
Bug bounty programma’s zijn gebruikelijk in softwareontwikkeling, maar ook in cryptocurrency, vooral als het gaat om smart contracts. Hoewel het uitvoeren van dergelijke programma’s een uitdaging kan zijn, wordt het voorkomen van een beveiligingslek meestal gezien als de moeite waard.
White-hat en bug-bounty stimuleringsprogramma’s vereisen meestal dat kwetsbaarheden vertrouwelijk blijven. Maar ze hebben ook vaak een vervaldatum om ervoor te zorgen dat de softwareontwikkelaar tijdig handelt.