Aplikácia eID klient, cez ktorú sa používatelia prihlasujú s občianskym preukazom s čipom na portál slovensko.sk, obsahovala viacero zraniteľností. Vďaka nim bolo možné vzdialené spustenie škodlivého kódu, alebo upraviť súbory na prihlásenom počítači.
Viaceré zraniteľnosti v aplikácii iD klient (verzia 3.0.0 a nižšia) objavila spoločnosť Binary House ešte 28. februára 2019, ktorú vzápätí nahlásila vládnej jednotke CSIRT (Computer Security Incident Response Team Slovakia).
Tento program obsahuje jednoduchý open-source webový server civet-webserver odvodený od webového servera Mongoose. Kvôli zlej implementácii civet-webservera do eID klienta bolo možné vzdialené spustenie kódu, alebo vymazanie súborov na počítači.
Na zneužitie tejto zraniteľnosti sa vyžaduje interakcia používateľa, ktorý musí navštíviť web stránku alebo otvoriť súbor. V jednom špecifickom prípade však nie je potrebná ani interakcia používateľa.
Ak sa spracuje požiadavka, ktorá smeruje na jeden z uvedených end pointov, program skočí na epilog funkcie handle_request(), na adresu 0x6AAF040E. Problém spočíva v tom, že ak 3 HTTP požiadavka je mimo hore uvedeného zoznamu (end pointov), program pokračuje ďalej na adrese 0x6AAFFBB7 vo funkcii zodpovednej za spracovanie požiadaviek.
Vzdialené spustenie nebezpečného kódu by v praxi vyzeralo takto:
Binary House nám poskytol aj demo ukážku zmazania súborov na diaľku:
Závažnosť zraniteľnosti
Zraniteľnosť v aplikácii iD klient do verzie 3.0.0 (vrátane) je kritická. Vďaka nej môže útočník vzdialene spustiť škodlivý kód ale aj upravovať/mazať dokumenty v napadnutom počítači.
Pozitívne môžeme vnímať informáciu, že od nahlásenia chyby bola nová verzia aplikácie uvoľnená za dva dni.
Na druhej strane, používateľov Linuxu a macOS nepoteší fakt, že v prípade týchto platforiem nebola potrebná interakcia používateľa (návšteva webstránky), ak nemal na počítači spustený firewall. Opäť sa tak potvrdzuje, že (údajne) bezpečné systémy v skutočnosti nie sú až také bezpečné.
CSIRT ako aj Binary House odporúčajú okamžite aktualizovať aplikáciu eID klient. Táto aktualizácia je vynútená a mala by prebehnúť automaticky, ak sa tak nestalo, je potrebné aktualizovať ju manuálne na verziu minimálne 3.1.2 pre OS Windows, 3.0.3 pre OS Linux a macOS, prípadne aktuálnu verziu 3.2 pre všetky OS v čase písania tejto správy.
Ako bolo spomenuté, štát zraniteľnosť promptne napravil a kto chce navštíviť portál slovensko.sk, musí si predtým stiahnuť novú verziu. Horšia situácia nastáva vtedy, ak používateľ chodí na tento portál zriedkavo, resp, vyskúšal ho len raz a odvtedy má nainštalovanú pôvodnú verziu.