CVE-2026-109143: ошибка управления привилегиями в credentials.delete в cal.com и cal.diy
В cal.com и cal.diy до версии 6.2.0 обнаружена уязвимость неправильного управления привилегиями в обработчике удаления учётных данных. Через манипуляцию параметром teamId злоумышленник может удалять credentials чужих команд. Проблема оценена как средняя (CVSS 5.3), эксплойт уже опубликован публично, а вендор не ответил на обращение.
Подробности
Уязвимость затрагивает calcom cal.com и calcom cal.diy вплоть до версии 6.2.0 включительно. Она локализована в функции credentials.delete файла /api/trpc/credentials/delete, относящегося к компоненту Credentials Handler. Суть проблемы — в некорректной проверке прав доступа: при манипуляции аргументом teamId пользователь может инициировать удаление учётных данных, не имея на это соответствующих полномочий. Это классический случай improper privilege management (CWE-269), когда серверная логика не сопоставляет запрошенный идентификатор команды с фактическими правами инициатора операции. Атака может быть проведена удалённо, без физического доступа к инфраструктуре. Эксплойт уже раскрыт публично, поэтому вероятность его практического использования существенно возрастает — злоумышленникам не требуется глубокая проработка техники, достаточно воспроизвести описанный сценарий. Уязвимости присвоен базовый балл CVSS 5.3 (MEDIUM). Такой уровень отражает умеренную критичность: прямой компрометации систем не происходит, но возможна потеря целостности данных — удаление учётных записей команд, к которым пользователь не должен иметь доступ. В сценариях с интеграциями (календари, OAuth-токены, webhooks) удаление credentials способно нарушить рабочие процессы и вызвать простой в обслуживании бронирований.Что делать
На текущий момент вендор не выпустил патч и не прокомментировал ситуацию. Рекомендуется следующий набор мер:- Проверить используемую версию cal.com или cal.diy. Если она равна 6.2.0 или ниже — считать систему подверженной уязвимости.
- Ограничить сетевой доступ к эндпоинту /api/trpc/credentials/delete на уровне reverse-proxy, WAF или API-gateway: разрешить вызовы только доверенным сервисам и административным ролям.
- Ввести дополнительную серверную проверку принадлежности teamId к текущему пользователю — например, через промежуточное ПО, валидирующее членство в команде перед передачей запроса в обработчик.
- Включить расширенное журналирование вызовов credentials.delete с фиксацией teamId, идентификатора пользователя и результата операции; настроить алерты на аномальные удаления.
- Ограничить число пользователей с правами на управление credentials и регулярно пересматривать эти роли.
- Следить за обновлениями проекта: после выпуска исправления обновить cal.com/cal.diy до актуальной версии.
Источник: CVE Project (cvelistV5)
