Poważna luka w usłudze Auth0

W jednym z ostatnich wpisie informowałem o konieczności stosowania unikatowych haseł do serwisów i usług, z których korzystamy. W ten sposób wyciek hasła z jednego miejsca nie pozwoli na zalogowanie się w innym miejscu przy pomocy tych samych danych. Dodatkowa dwuetapowa weryfikacja czy menedżer haseł to również spory ukłon w stronę bezpieczeństwa.

Niestety Auth0, które świadczy usługę bezpiecznego logowania przy pomocy tokenów posiadało lukę, która umożliwiała obejście zabezpieczeń. Auth0 funkcjonuje jako IDaaS czyli Identity as a Service i jest największą platformą tego typu, która pozwala na weryfikację do różnych stron w oparciu o token. Według statystyk podanych przez portal The Hacker News[1], z Auth0 korzysta ponad 2000 korporacji, a obsługiwane są 42 miliony zalogowań każdego dnia.

We wrześniu 2017 badacze z firmy Cinta Infinita odkryli podatność (CVE-2018-6873) w API Legacy Lock od Auth0. Luka pozwoliła na obejście weryfikacji w czasie logowania poprzez prosty atak typu CSRF (Cross Site Request Forgery) na aplikacji używającej Auth0. Druga podatność (CVE-2018-6874) pozwala atakującemu na ponowne użycie JWT (token JSON) wygenerowanego dla innego konta. Przykład ataku typu proof of concept widać na poniższy filmie:

Zanim informacja o luce ujrzała światło dzienne, firma Auth0 przez sześć miesięcy pomagała klientom w usunięciu błędu. Działo się tak ze względu na implementację m.in. bibliotek Auth0 po stronie klienckiej. Podatne biblioteki zostały nadpisane, wydana została również nowa wersja SDK.

[1] https://thehackernews.com/2018/04/auth0-authentication-bypass.html