image

Wachtwoorden in Bitwarden via autofill feature en iframes te stelen

donderdag 9 maart 2023, 09:54 door Redactie, 10 reacties

Wachtwoorden die in wachtwoordmanager Bitwarden zijn opgeslagen kunnen door een combinatie van de autofill feature en iframes door websites worden gestolen. Het probleem werd voor het eerst in november 2018 aan Bitwarden gemeld (pdf). Onlangs deed ook securitybedrijf Flashpoint dat. Bitwarden heeft aangegeven alleen voor een specifieke hostingprovider met een oplossing te komen. Daarnaast staat de autofill feature volgens de wachtwoordmanager standaard uitgeschakeld.

De browser-extensie van Bitwarden kan opgeslagen inloggegevens voor websites invullen wanneer een gebruiker die bezoekt. Standaard zal het gebruikers hier om vragen. Bitwarden biedt echter ook de optie "auto-fill on page load", waarbij inloggegevens automatisch worden ingevuld. Op de eigen website waarschuwt de wachtwoordmanager dat deze feature standaard staat uitgeschakeld, omdat gecompromitteerde of kwaadaardige websites via de feature inloggegevens kunnen stelen.

Een ander probleem volgens Flashpoint is dat Bitwarden alleen naar de domeinnaam kijkt om het automatisch invullen van wachtwoorden aan te bieden. Bitwarden zal dit daardoor ook bij een subdomein doen. Volgens het securitybedrijf is dit een probleem wanneer een bedrijf via bijvoorbeeld login.company.tld gebruikers laat inloggen, maar gebruikers via user.company.tld de mogelijkheid biedt om hun eigen content te hosten. Een aanvaller zou zo via user.company.tld inloggegevens voor login.company.tld kunnen stelen.

Flashpoint beschrijft twee methodes hoe aanvallers van de werking van de browser-extensie misbruik kunnen maken. Als eerste wanneer een website een externe iframe plaatst waarover de aanvaller controle heeft én de gebruiker auto-fill on page load heeft ingeschakeld. De tweede optie is dat een aanvaller zijn content op een subdomein host, bijvoorbeeld van een hostingprovider, en dat de provider het inlogvenster voor gebruikers onder dezelfde domeinnaam draait.

Het securitybedrijf stelt dat het deze laatste optie bij verschillende grote webservices heeft aangetroffen. Een ander punt dat Flashpoint opmerkt is dat wanneer auto-fill on page load staat ingeschakeld, er geen interactie van gebruikers is vereist voor het stelen van inloggegevens. Wanneer een gebruiker zijn gegevens via het contextmenu laat invullen, worden ook inlogformulieren in iframes ingevuld.

Flashpoint waarschuwde Bitwarden, maar dat stelde dat het sinds 2018 van dit probleem weet en bewust heeft gekozen om het niet te verhelpen. Dit vanwege de manier waarop autofill werkt en dat de wachtwoordmanager geen inloggegevens zonder toestemming van gebruikers invult, tenzij ze zelf auto-fill on page load hebben ingeschakeld. Vervolgens kwam het securitybedrijf met een demonstratie hoe de aanvalsvector is te gebruiken om inloggegevens bij een bekende hostingprovider te stelen.

Daarop liet Bitwarden weten dat het de betreffende hostingomgeving van de autofill feature gaat uitzonderen. De werking van iframes laat de wachtwoordmanager ongemoeid. "Het prioriteren van hun use-case over security en de reactie op ons rapport is zorgwekkend en organisaties moeten zich bewust zijn van de securityzorgen in het product", aldus Flashpoint. Dat voegt toe dat andere wachtwoordmanagers geen autofill bij iframes toepassen. In twee CVE-nummers van de kwetsbaarheid ontkent Bitwarden dat het om een beveiligingslek gaat.

Image

Reacties (10)
09-03-2023, 10:26 door Erik van Straten
Om het probleem in perspesctief te plaatsen: als je wachtwoorden intikt of kopieert+plakt kun je dat ook doen in een veld van een andere website.

En uit https://www.bleepingcomputer.com/news/security/bitwarden-flaw-can-let-hackers-steal-passwords-using-iframes/:
"Bitwarden accepts iframe auto filling because many popular websites use this model, for example icloud.com uses an iframe from apple.com," Bitwarden told BleepingComputer in a statement.

"So there are perfectly valid use cases where login forms are in an iframe under a different domain."

Bovendien verschijnen iframes niet "spontaan" op een website, daar moet wat aan vooraf gegaan zijn waardoor mogelijkerwijs ook session-cookies gestolen kunnen worden.

Voor zover ik weet beschermen "autofill" wachtwoordmanagers, passkeys en FIDO2 hardware keys (in WebAuthn mode) bijvoorbeeld wel tegen BitB (Browser in the Browser) aanvallen, zoals o.a. hier uitgelegd: https://isc.sans.edu/diary/HTML%20phishing%20attachment%20with%20browser-in-the-browser%20technique/29556. Hier zijn mensen duidelijk in het nadeel.

Kortom, niet verwaarloosbaar maar m.i. geen spectaculaire ontdekking van Flashpoint.
09-03-2023, 11:36 door Villager - Bijgewerkt: 09-03-2023, 11:39
Ik begrijp even niet helemaal wat hier staat:

De browser-extensie van Bitwarden kan opgeslagen inloggegevens voor websites invullen wanneer een gebruiker die bezoekt. Standaard zal het gebruikers hier om vragen. Bitwarden biedt echter ook de optie "auto-fill on page load", waarbij inloggegevens automatisch worden ingevuld. Op de eigen website waarschuwt de wachtwoordmanager dat deze feature standaard staat uitgeschakeld, omdat gecompromitteerde of kwaadaardige websites via de feature inloggegevens kunnen stelen.

Want waarom zou je moeten 'waarschuwen' dat deze setting standaard uit staat?
Ik heb ook even gecheckt bij mezelf (ben recent overgestapt van Lastpass naar Bitwarden), maar de setting stond bij mij dus standaard AAN. Dus op 'Automatisch invullen bij laden pagina'. Ook een rare manier om het weer te geven trouwens: je moet eerst 'Automatisch invullen bij laden pagina' bovenaan aanvinken om het in het keuzeveld eronder te kunnen uitzetten.

Vraag: kun je nog iets verbeteren door de setting in het veld eronder 'Standaard URI-overeenkomstdetectie' aan te passen?
De waarden die je kunt kiezen zijn: Basisdomein, hostnaam, begint met, reguliere expressie, exact, nooit. ?
09-03-2023, 11:36 door Anoniem
Door Erik van Straten:
Bovendien verschijnen iframes niet "spontaan" op een website, daar moet wat aan vooraf gegaan zijn
Nou volgens mij kunnen de meeste advertentie hosting omgevingen zoals die alom populair zijn voor gebruik op websites gewoon een iframe als advertentie plaatsen hoor...
Ok daar "is aan vooraf gegaan" dat de bezoeker zo dom geweest is om te gaan browsen zonder adblocker, maar dat komt nog steeds veel voor schijnt het...
09-03-2023, 14:00 door Anoniem
Gewoon niet de browser-extensie gebruiken.
09-03-2023, 14:26 door Erik van Straten
Door Anoniem:
Door Erik van Straten: Bovendien verschijnen iframes niet "spontaan" op een website, daar moet wat aan vooraf gegaan zijn waardoor mogelijkerwijs ook session-cookies gestolen kunnen worden.
Nou volgens mij kunnen de meeste advertentie hosting omgevingen zoals die alom populair zijn voor gebruik op websites gewoon een iframe als advertentie plaatsen hoor...
Waarom liet je dat laatste deel van mijn zin weg?

Ja, naast de website waar je op inlogt (en ingelogd blijft) zul je OOK alle sites van derde partijen (maar ook van vierde partijen etcetera), waarvan de eigenaar van die eerste site wil dat jouw browser daar content van ophaalt, moeten vertrouwen (het gebruiken van een adblocker en vooral NoScript kan hierbij helpen - maar zeker is dat niet).

Juist session cookies (1FA) maken je kwetsbaar, ONGEACHT hoe je inlogt; zelfs client-CBA (Certificate Based Authentication), PassKeys of FIDO2 hardware keys (in WebAuthn mode) helpen niet als de andere kanten niet te vertrouwen zijn.

Tenzij je een ervaren webhacker bent, kun je alleen maar hopen dat de primaire site maximale beveiligingsmaatregelen heeft genomen en dat 3rd (en 4th, 5th etc.) sites zodanig te vertrouwen zijn dat zij "slechts alles" van jou willen weten - behalve jouw wachtwoord, 2FA data en jouw session-cookies. Maar ja... (het internet is doodziek: zwaar vergiftigd met commercie om inkomsten te genereren - en daar zitten altijd rotte appels tussen).

Door Anoniem: Ok daar "is aan vooraf gegaan" dat de bezoeker zo dom geweest is om te gaan browsen zonder adblocker, maar dat komt nog steeds veel voor schijnt het...
Dat is natuurlijk de omgekeerde wereld: daar "is aan vooraf gegaan" dat de eigenaar van een website waar jij op inlogt scheit heeft aan jouw privacy en/of de beveiliging van jouw gegevens.
09-03-2023, 22:42 door Anoniem
Door Erik van Straten:
Door Anoniem:
Door Erik van Straten: Bovendien verschijnen iframes niet "spontaan" op een website, daar moet wat aan vooraf gegaan zijn waardoor mogelijkerwijs ook session-cookies gestolen kunnen worden.
Nou volgens mij kunnen de meeste advertentie hosting omgevingen zoals die alom populair zijn voor gebruik op websites gewoon een iframe als advertentie plaatsen hoor...
Waarom liet je dat laatste deel van mijn zin weg?
Omdat die niet relevant is voor "verschijnen iframes niet "spontaan" op een website". Iframes kunnen er (bij mijn weten) gewoon in gezet worden door de scriptcode van advertenties, of niet? Net zoals advertenties alle andere willekeurige javascript code in je browser kunnen uitvoeren, en wellicht ook cookies stelen ja.
Advertenties hosten op externe platformen die ruimte verkopen en advertenties doorsturen naar de bezoekers van heel andere websites, dat moet gewoon verboden worden.

Door Anoniem: Ok daar "is aan vooraf gegaan" dat de bezoeker zo dom geweest is om te gaan browsen zonder adblocker, maar dat komt nog steeds veel voor schijnt het...
Dat is natuurlijk de omgekeerde wereld: daar "is aan vooraf gegaan" dat de eigenaar van een website waar jij op inlogt scheit heeft aan jouw privacy en/of de beveiliging van jouw gegevens.

Ja dat ook. Er is kennelijk een websitewereld waarin het maar normaal gevonden wordt om naast de content die de bezoeker wil zien een willekeurige collectie en scripts van andere aanbieders, zonder controle door een competent persoon wordt doorgeleverd. En "wij kunnen dat niet allemaal waterdicht beveiligen". SLUIT JE TOKO DAN, als je je core business niet naar behoren kunt uitvoeren, is mijn mening.
09-03-2023, 23:59 door Anoniem
Als een advertentie wordt geladen hoeft die toch geen iframe meer te plaatsen om een formulier te publiceren. Gewoon in de advertentie een inputveld voor wachtwoord en als je in bitwarden een wachtwoord had opgeslagen voor deze site, wordt die autofilled ingevuld. Kleine kans dat dit gebeurt, maar kans is niet 0.
10-03-2023, 07:55 door Anoniem
volgens mij is dit probleem niet specifiek voor bitwarden. elke browser kan de DOM lezen en bewerken en als een hacker toegang heeft tot systemen ook de host file bewerken en DNS aanpassen en dergelijke.

kortom het internet gebruik nog veel oude unencrypted manieren en zelfs SSL verkeer wordt veelal niet E2EE geverifieerd, bovendien is SSL groeps versleuteling. dus dat is ook erg gevoelig voor misbruik en spionage.
10-03-2023, 15:48 door Anoniem
Door Villager: Ik begrijp even niet helemaal wat hier staat:

De browser-extensie van Bitwarden kan opgeslagen inloggegevens voor websites invullen wanneer een gebruiker die bezoekt. Standaard zal het gebruikers hier om vragen. Bitwarden biedt echter ook de optie "auto-fill on page load", waarbij inloggegevens automatisch worden ingevuld. Op de eigen website waarschuwt de wachtwoordmanager dat deze feature standaard staat uitgeschakeld, omdat gecompromitteerde of kwaadaardige websites via de feature inloggegevens kunnen stelen.

Want waarom zou je moeten 'waarschuwen' dat deze setting standaard uit staat?
Ik heb ook even gecheckt bij mezelf (ben recent overgestapt van Lastpass naar Bitwarden), maar de setting stond bij mij dus standaard AAN. Dus op 'Automatisch invullen bij laden pagina'. Ook een rare manier om het weer te geven trouwens: je moet eerst 'Automatisch invullen bij laden pagina' bovenaan aanvinken om het in het keuzeveld eronder te kunnen uitzetten.

Vraag: kun je nog iets verbeteren door de setting in het veld eronder 'Standaard URI-overeenkomstdetectie' aan te passen?
De waarden die je kunt kiezen zijn: Basisdomein, hostnaam, begint met, reguliere expressie, exact, nooit. ?

De setting staat wel degelijk standaard UIT; dat is precies het vinkje dat je aanvinkte om de setting eronder aan te kunnen passen; aanvinken zonder aanpassing zet de setting dus direct aan, maar zonder vinkje is de setting inactief. Het is wel een onlogische/verwarrende setting, dus ik snap jouw redenering.

Zelf ben ik nogal risico-avers, dus als er al een waarschuwing bij staat (en dat staat in het settingsmenu) dan laat ik het liever ongemoeid. In beginsel zie ik vooral een risico voor gebruikers die de waarschuwing negeren zonder te beseffen wat het eventuele risico daarvan is. Ik begrijp BitWarden echter ook wanneer ze ervoor kiezen de gebruiker wel die optie te geven. Dit soort 'gevaarljike' opties kunnen dan beter onder een 'advanced user' setting gehangen worden ofzo.

Persoonlijk maak ik mij niet druk, maar voor de awareness raad ik ook aan dat BitWarden hier wat meer toelichting bij plaatst.
10-03-2023, 23:37 door Anoniem
Dat 'stelen' van de sessie cookie zou met goed instellen bij publicsuffix.org door de hoster volledig voorkomen moeten kunnen worden.

Het voorbeeld van dat icloud en apple domeinen gemixt worden volg ik niet helemaal. Ik mag toch aannemen dat Bitwarden de autofill doet op basis van de het apple domein, niet op icloud. En tegenwoordig laten browsers het niet meer toe dat javascript die iframe grens zelf oversteekt.
Dit probleem moet ik toch met meer detail uitgelegd zien.

Ook zou, als de password managers dit gaan ondersteunen, publicsuffix.org hier misschien kunnen helpen. Dan moet een dienst dat natuurlijk wel zelf aanmelden.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.