Платформата за онлайн графици Cal.com разкри критична уязвимост в механизма за удостоверяване, която позволява на нападатели да получат неоторизиран достъп до потребителски акаунти. Пробивът е каталогизиран като CVE-2025-66489 и има CVSS v4 оценка 9.3, което го поставя в най-високата категория на риск.
Уязвимостта засяга всички версии до 5.9.7 включително, като Cal.com препоръчва незабавно обновяване до версия 5.9.8, където проблемът е коригиран.
Коренът на проблема: дефектна логика в authorize()
Сериозната уязвимост произтича от грешка в логиката на удостоверяване в authorize() функцията, разположена в packages/features/auth/lib/next-auth-options.ts.
Проблемният код се намира между редове 179 и 187, където условието комбинира проверка за наличие на потребителска парола и едновременно с това за наличие на въведен TOTP код.
Когато в заявката присъства стойност в полето totpCode, логиката пропуска цялата проверка на паролата, независимо дали въведената TOTP стойност е валидна или не. Това превръща механизма в неефективен и създава две опасни пътеки.
Сценарий 1: Пълен достъп само с имейл + произволен TOTP
Атакуващият трябва само да:
-
въведе имейла на жертвата
-
въведе произволна (непразна) стойност в totpCode
След това паролата не се проверява, а TOTP стойността също може да бъде напълно невалидна. Това означава, че стотици хиляди акаунти в Cal.com са били изложени на практически незабавно takeover.
Тъй като повечето потребители не използват 2FA, първият сценарий представлява масов риск от компрометиране.
Сценарий 2: Ослабена 2FA – от многофакторна до еднофакторна автентикация
При потребители с активирана двуфакторна автентикация ситуацията също е критична. Ако е въведен TOTP код, механизмът:
-
не проверява паролата
-
използва само TOTP за вход
Така 2FA се свежда до единичен фактор, което значително отслабва защитата и позволява на нападателите да атакуват само една част от защитния механизъм.
Последствия: акаунти, чувствителна информация и административен достъп
Компрометирането на акаунт в Cal.com може да доведе до:
-
достъп до лични и служебни календари
-
получаване на линкове за срещи и конфиденциални събития
-
злоупотреба с привилегировани акаунти
-
похищаване на корпоративни интеграции
-
масово представяне от името на на служители
Уязвимостта също така позволява user enumeration, тъй като логиката може да издаде дали даден имейл съществува в системата.
Фиксът в 5.9.8: коректна проверка на TOTP и парола
Cal.com публикува актуализация 5.9.8, която:
-
възстановява правилната логика на двойна проверка
-
гарантира, че TOTP никога не пропуска валидацията на парола
-
елиминира възможността за заобикаляне на алгоритъма за удостоверяване
Какво да направят организациите
-
Незабавно обновяване до 5.9.8
-
Проверка за необичайни логове и подозрителни сесии
-
Ресет на пароли и повторно активиране на 2FA
-
Задължителен одит на административни акаунти








