En browserudvidelse med mere end 30.000 installationer har eksponeret brugernes Twitch OAuth-tokens for en kommerciel bottjeneste. Udvidelsen var fortsat tilgængelig gennem de officielle Chrome- og Firefox-butikker på tidspunktet for rapporteringen.

Sikkerhedsforskere fandt ud af, at Twitch Enhanced Viewer | JeetBot udtrækker autentificeringsdata fra Twitch-anmodninger. Derefter sender den loginoplysningerne gennem tredjeparts proxyservere.

Twitch-udvidelse indsamler OAuth-tokens

Twitch Enhanced Viewer | JeetBot præsenterer sig som et værktøj til at forbedre streamingplatformen. Dets annoncerede funktioner omfatter blokering af annoncer og tvungen videoafspilning i høj opløsning.

Udvidelsen hævder også, at den kan omgå regionale begrænsninger og automatisk indsamle kanalpoint. Brugere kan downloade den gennem Chrome Web Store og Firefox Add-ons.

Forskere hos applikationssikkerhedsvirksomheden Socket fandt dog bekymrende adfærd i udvidelsen. Den opfanger authorization-headeren, som bruges af Twitchs webklient, og udtrækker brugerens OAuth-token.

Softwaren sender derefter Twitch OAuth-tokens gennem proxyservere. JeetBot, en kommerciel russisksproget streaming- og chatbot-tjeneste, driver disse servere.

Virksomheden tilbyder værktøjer til Twitch, Kick og VK Live.

Tokens vises i proxylogs

Nuværende versioner af udvidelsen omdirigerer anmodninger om Twitch-videoplaylister gennem JeetBots proxyinfrastruktur. Under denne proces tilføjer softwaren tokenet til den omdirigerede URL som en autentificeringsparameter.

Som følge heraf vises loginoplysningerne i klartekst i proxyserverens anmodningslogs. Tjenesteoperatøren kan derefter hente dem uden at have adgang til brugerens browser.

Denne proces finder sted, hver gang en berørt bruger ser en Twitch-kanal. Udvidelsen udelukker dog ti russisksprogede kanaler, som er angivet direkte i dens kode.

Placering af følsomme loginoplysninger i en URL skaber flere sikkerhedsrisici. Servere, overvågningsværktøjer og andre systemer registrerer ofte komplette URL’er i deres logs.

Derfor kan enhver med adgang til disse registreringer også få adgang til tokens.

Tidligere versioner brugte tydeligere indsamlingsmetoder

Socket rapporterede, at tidligere versioner af udvidelsen brugte mere direkte mekanismer til at indsamle Twitch OAuth-tokens.

Udvikleren anerkendte den tidligere praksis i en beskrivelse offentliggjort gennem Firefox Add-ons. Ifølge en maskinoversættelse oplyste udvikleren, at udvidelsen overførte OAuth-tokens til sin server.

Meddelelsen hævdede, at det var nødvendigt at sende tokenet for at understøtte streams i opløsningerne 1080p og 1440p.

Privatlivserklæringen i Chrome Web Store gav dog et andet budskab. Den oplyste, at udvikleren ikke ville indsamle eller bruge kundedata.

Erklæringen omfattede også salg af oplysninger til tredjeparter og overførsel af dem uden for udvidelsens kernefunktionalitet.

Denne tilsyneladende modsigelse skaber yderligere bekymring om, hvorvidt brugerne modtog korrekte oplysninger om, hvordan softwaren håndterede deres loginoplysninger.

Eksponerede tokens skaber kontorisici

OAuth-tokens gør det muligt for applikationer at få adgang til brugerkonti uden gentagne gange at bede om en adgangskode. Deres præcise muligheder afhænger af de tilladelser, der blev givet under autentificeringen.

Hvis nogen stjæler et gyldigt token, kan de bruge det til at interagere med den tilknyttede konto. I nogle tilfælde kan angriberen bevare adgangen, indtil tokenet udløber, eller tjenesten ugyldiggør det.

Ændring af en kontoadgangskode afslutter ikke altid alle aktive sessioner med det samme. Derfor bør berørte brugere tilbagekalde eksisterende sessioner og autentificere sig igen.

Hændelsen viser også risiciene ved at dirigere autentificeret trafik gennem tredjepartssystemer. Selv når en tjeneste ikke aktivt stjæler loginoplysninger, kan usikker logning stadig eksponere dem.

Udviklere bør fjerne authorization-headere og tokens, før anmodninger omdirigeres til ekstern infrastruktur. De bør også undgå at inkludere hemmeligheder i URL-parametre.

Udvidelsen forbliver i officielle butikker

På tidspunktet for offentliggørelsen var Twitch Enhanced Viewer | JeetBot fortsat tilgængelig gennem begge officielle butikker for browserudvidelser.

Dens tilstedeværelse på disse markedspladser kan have fået brugere til at stole på softwaren. Officiel distribution garanterer dog ikke, at en udvidelse håndterer følsomme oplysninger sikkert.

Udgiveren havde ikke besvaret spørgsmål om resultaterne, da rapporten blev offentliggjort.

Socket betragter udvidelsen som en sikkerhedsrisiko. Derfor anbefaler deres forskere, at den fjernes fra alle berørte browsere.

Brugere bør derefter afbryde alle aktive Twitch-sessioner, før de logger ind igen. Denne handling bør ugyldiggøre alle OAuth-tokens, som udvidelsen kan have overført.

Berørte brugere bør også gennemgå tilsluttede applikationer og fjerne tjenester, som de ikke længere genkender eller bruger.


0 svar til “Twitch-udvidelse eksponerer OAuth-tokens fra 30.000 brugere”