Открити са критични уязвимости в Connective Signing Extension – компонент за браузър, използван от над 2 милиона души в Белгия за достъп до електронни лични карти и платежни карти Maestro.
Вече коригираните проблеми биха могли да позволят на злонамерени уебсайтове, реклами или скрити iframe елементи да четат данни от карти, да крадат PIN кодове за eID, да създават измамни заявки за подписване и да изпълняват контролиран от атакуващия код на устройства с Windows.
Софтуерът на Connective действа като мост между уебсайтове, разширение за браузър и локално приложение, инсталирано на компютъра на потребителя. Локалният компонент комуникира със свързани четци на смарт карти, за да поддържа удостоверяване и подписване на документи.
Този модел се използва широко в белгийския банков сектор и услугите в публичния сектор, включително услуги, които разчитат на eIDAS-квалифицирани електронни подписи. Квалифицираните подписи могат да имат същата правна сила като саморъчните подписи в целия Европейски съюз.
Изследователи от „Have I Been Pwned“ установиха, че разширението не свързва правилно заявките с уебсайта на произход. Въпреки че повечето команди изискват токен за активиране, на токена му липсва подходяща защита на произхода.
Това означава, че токен, издаден на легитимен партньорски сайт, потенциално може да бъде възпроизведен от друг уебсайт. В резултат на това контролирана от атакуващ страница може да взаимодейства с локалния хост и да получи достъп до данни от свързани белгийски eID или Maestro карти без реално знание на потребителя.
По-сериозен дефект в процеса на проверка на PIN кода позволява на уебсайтовете да показват прозорци за въвеждане на PIN код на Connective с автентичен вид, но с контролирани от атакуващия заглавия и съобщения, като по този начин потенциално се представят за доверени банкови или държавни услуги и подмамват потребителите да въведат своя PIN код.
Според разкритието, полученият PIN токен се изпраща обратно към уеб страницата и е проектиран по небезопасен начин. Твърди се, че той включва както криптирания PIN код, така и информацията, необходима за неговото декриптиране.
Това може да изложи на риск eID PIN кода на потребителя пред злонамерен уебсайт след еднократен фишинг инцидент. Атакуващ с наличен PIN код и достъп до свързана eID карта би могъл да извърши неупълномощени операции за удостоверяване или подписване, докато картата е поставена в четеца.
Уязвимостите включват и проблем с отдалечено изпълнение на код при посещение на компрометиран уебсайт (drive-by RCE). Изследователите откриха, че команда, изпълнена на локалния хост, може да зареди библиотека от път, предоставен чрез уеб заявка.
Атакуващ би могъл да комбинира това с изтеглен файл, маскиран като безопасен документ, и след това да накара софтуера на Connective да зареди злонамерен код с привилегиите на текущия потребител. Проблемът не изисква наличието на свързана eID лична карта, което го прави по-широк риск за сигурността на крайните устройства.
Въздействието надхвърля кражбата на самоличност на отделни лица. Белгийските работни процеси за eID се използват за достъп до услуги с висока стойност и компрометираната способност за подписване може да позволи опити за превземане на акаунти или измамно потвърждаване на самоличността. Изследователите демонстрираха превземане на акаунт, включващо държавния портал CSAM.
Nitro Software Belgium, компанията зад Connective и регистриран в ЕС доставчик на квалифицирани удостоверителни услуги, пусна корекции на няколко етапа. Финалното отстраняване на уязвимостите изключи рисковата функция за зареждане на библиотеки, промени обработката на PIN токените, така че уебсайтовете да получават само референтна стойност, и наложи проверки на произхода за заявките. Компанията завърши процеса 146 дни след първоначалния доклад.