
Очищенное уведомление о CVE-2025-51846, влияющее на обработку WebSocket в CryptPad.
Серьезность: Высокая (CVSS 7.5)
CWE: 400 – Неконтролируемое потребление ресурсов (Истощение ресурсов),
CWE: CWE-770 – Выделение ресурсов без ограничений или регулирования
Статус: Исправлено
Подтверждено затронуто: CryptPad 2025.3.1
Затронутый диапазон в черновике CSAF: >=2025.3.1, <2026.2.1
Примечание о исправленной версии: Черновик координатора в настоящее время ссылается на 2026.2.1. Позже CryptPad указал, что 2026.2.2 является фактическим корректным релизом с исправлением из-за проблемы с версией в 2026.2.1. Операторам следует подтвердить окончательную исправленную версию в опубликованном уведомлении CISA и примечаниях к выпуску CryptPad.
image
Реализация WebSocket в CryptPad накладывала ограничения на отдельные фреймы, но не обеспечивала достаточного кумулятивного ограничения на объем данных и количество фрагментов, обрабатываемых на одно соединение.
Согласно RFC 6455, сообщение WebSocket может быть разделено на несколько фреймов. В уязвимых версиях повторяющиеся корректные фреймы или фрагментированные сообщения могли вызывать чрезмерное потребление ресурсов на стороне сервера.
Удаленный неаутентифицированный злоумышленник мог использовать это поведение для деградации или отказа в обслуживании легитимных пользователей. При тестировании это приводило к высокому использованию ЦП и памяти, неотзывчивости интерфейса CryptPad, сбоям загрузки документов/сессий и завершению работы сервиса при высокой нагрузке.
image
Проблема вызвана недостаточным кумулятивным учетом ресурсов в пути обработки WebSocket. Хотя отдельные фреймы могут подвергаться проверке размера, сервер все равно обрабатывает повторяющиеся корректные фреймы или фрагменты без эффективного кумулятивного ограничения на соединение.
При лабораторном тестировании для проверки проблемы использовались несколько шаблонов трафика WebSocket, не выглядящих как вредоносные:
Эти тесты показали, что CryptPad продолжал потреблять ресурсы при обработке трафика, который по отдельности выглядел корректным. При более высокой лабораторной нагрузке сервис становился недоступным, а системные журналы показывали завершение процесса из-за исчерпания памяти.
Полные скрипты стресс-тестирования не опубликованы, чтобы избежать возможности злоупотребления против рабочих экземпляров CryptPad.
image
Данное уведомление намеренно включает только невоенизированное описание подхода к воспроизведению.
На высоком уровне проблему можно воспроизвести в контролируемой лаборатории следующим образом:
Никакого публичного эксплойта или скрипта для флуда не включено.
image
Таким образом, злоумышленник может открыть соединение WebSocket и отправлять сотни или даже тысячи фреймов (каждый в пределах допустимого лимита размера), пока сервер не буферизует и не обработает огромный объем данных. Даже если каждый фрейм сам по себе выглядит «легальным», кумулятивный эффект заключается в том, что память и ЦП сервера потребляются при обработке каждого фрагмента.
Удаленный неаутентифицированный злоумышленник может:
image
>=2025.3.1, <2026.2.11e0c06ad8a0c5dab795f85f9730ec2693320c62eimage
Операторам следует обновиться до исправленной версии CryptPad, указанной в окончательном уведомлении CISA и примечаниях к выпуску CryptPad.
Дополнительные меры смягчения по принципу глубокой защиты включают:
image
CryptPad признал условие отказа в обслуживании. Вендор заявил, что контрмеры уже были реализованы на стороне nginx для флагманского экземпляра и что дополнительные изменения добавляются в пример конфигурации и серверную логику. CryptPad также сослался на более широкий рефакторинг сервера, предназначенный для включения этих контрмер.
Позже CryptPad предоставил PR #2239 в качестве публичной ссылки на исправление и указал, что исправленный релиз с исправлением ошибок — 2026.2.2, после проблемы с версией в 2026.2.1.
image
Эта проблема правильно классифицируется как уязвимость отказа в обслуживании высокой степени серьезности. Атака не требует аутентификации и может привести к полной недоступности сервиса за счет истощения ресурсов сервера через корректные шаблоны трафика WebSocket.
image
Тестирование проводилось только в контролируемых средах. Данное уведомление не включает военизированные скрипты флуда или полный инструментарий для воспроизведения.
image
John Perifanis
Исследователь безопасности
Контакт: https://www.linkedin.com/in/ioannis-p-9081842b9