CNet rapporteert "Serious security flaw in OAuth, OpenID discovered" en Webwereld dikt dit verder aan met de headline "Gat in OAuth en OpenID legt helft van internet bloot"
In dit artikel zal ik deze claims weerleggen.
Als eerste is het door Wang Jing "gevonden" issue al meer dan een jaar bekend en is er een RFC voor gemaakt. De voorgestelde oplossing is eveneens beschikbaar in het protocol, namelijk gebruik een redirect URI of een callback URL. Alle grote providers ondersteunen dit.
Als ontwikkelaar heb ik open source code geschreven voor Oauth authenticatie die inmiddels gebruikt wordt door meer dan 2500 websites. De eerste versie van deze code is ongeveer 1,5 jaar oud en had al de mogelijkheid van callback URL. Zelfs Oauth 1 kende deze mogelijkheid en die code is ruim 5 jaar oud.
Maar los van callback of redirect URI's. Providers bieden extra mogelijkheden om Oauth redirect te voorkomen. Facebook en Google geven IP whitelist opties aan, zodat de third party app developer kan garanderen dat je alleen terug kan worden geleid naar hun website en niet die van een attacker.
Neemt inderdaad niet weg dat het mogelijk is om misbruik te maken van Oauth, evenmin dat het onmogelijk is om misbruik te maken van het IP protocol. Maar de oorzaak van het probleem wordt onterecht bij het protocol gelegd. Oauth is veilig voor dit type aanval, mits de app developer het juist invoert. Net als met alle protocollen. Je kan een kluizen leverancier ook niet verantwoordelijk houden voor inbraak als je geen sleutel of code wenst te gebruiken.
Het is dus een staaltje slechte journalistiek wat hier wordt toegepast. CNET heeft twee "expert" bronnen gechecked, Jeremiah Grossman en Chris Wysopal. Helaas mannen, jullie slaan de plank mis op dit issue.
Maar helemaal gerust gaan slapen is er voor de Facebook of Google gebruiker toch niet bij. Third party developers die weinig tijd investeren in hun app zijn inderdaad vulnerable. En die zijn er vast een heleboel, als ik zie wat voor vragen ik krijg op mijn code door website developers dan is er nog niet één die zich zorgen heeft gemaakt over veiligheid, maar alleen gericht op functionaliteit.
En dat is het werkelijke zorgenkindje. Website developers die de basis zaken vergeten om maar zoveel mogelijk bezoekers te krijgen.