Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-8237 — Углублённый разбор IDOR-уязвимости в Concrete CMS, охватывающий endpoint message_detail, корневую причину отсутствия авторизации, сценарии атак, воздействие и исправление. | Kitploit
Инструменты/GitHubGitHub/aj2108/cve-2026-8237
Аутентификация и авторизацияАнализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьОбучение и Образование
GitHubaj2108/cve-2026-8237

CVE-2026-8237

Углублённый разбор IDOR-уязвимости в Concrete CMS, охватывающий endpoint message_detail, корневую причину отсутствия авторизации, сценарии атак, воздействие и исправление.

Репозиторий
121 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-8237

CVE-2026-8237 — это уязвимость типа Insecure Direct Object Reference (IDOR), вызванная отсутствием проверок авторизации в Concrete CMS 9.5.0 и более ранних версиях. Проблема присутствует в эндпоинте /ccm/frontend/conversations/message_detail, который возвращает полное содержимое сообщений бесед на основе только идентификатора сообщения, переданного пользователем. Поскольку приложение не проверяет, авторизован ли запрашивающий пользователь для доступа к указанному сообщению, неаутентифицированный злоумышленник может перебирать идентификаторы сообщений и получать содержимое бесед, которое должно оставаться приватным. Также могут быть раскрыты URL-адреса загрузки файлов-вложений, связанных с этими сообщениями. Проблема исправлена в Concrete CMS 9.5.1.

Затронутое программное обеспечение

Свойство Значение
Продукт Concrete CMS
Затронутые версии 9.5.0 и более ранние
Исправленная версия 9.5.1
Затронутый эндпоинт /ccm/frontend/conversations/message_detail

Тип уязвимости

  • Категория: небезопасная прямая ссылка на объект (IDOR)

  • CWE-862: Отсутствие авторизации

Корневая причина

Эндпоинт получает сообщение беседы с помощью управляемого клиентом идентификатора сообщения, не проверяя, имеет ли текущий пользователь разрешение на доступ к этому конкретному сообщению.

Уязвимый рабочий процесс концептуально выглядит так:

Пользователь передаёт messageId
↓
Сервер получает сообщение
↓
Проверка авторизации отсутствует
↓
Возвращается полное содержимое сообщения

Поскольку владение или права доступа никогда не проверяются, злоумышленники могут изменять значение messageId для доступа к сообщениям бесед других пользователей.

Сценарий атаки

Предположим, легитимный запрос получает сообщение 150:

GET /ccm/frontend/conversations/message_detail?messageId=150

Злоумышленник просто меняет идентификатор:

GET /ccm/frontend/conversations/message_detail?messageId=151

Если сервер отвечает содержимым сообщения 151 вместо отказа в доступе, злоумышленник может продолжать увеличивать идентификаторы, чтобы перечислять приватные беседы и связанные с ними вложения.

Воздействие

Успешная эксплуатация может позволить злоумышленнику:

  • Читать приватные сообщения бесед.
  • Получать доступ к обсуждениям на страницах с ограниченным доступом или только для участников.
  • Просматривать сообщения из очереди модерации.
  • Получать URL-адреса загрузки вложений.
  • Перечислять валидные идентификаторы сообщений бесед.

Уязвимость в первую очередь влияет на конфиденциальность, поскольку чувствительная информация может быть раскрыта без авторизации.

Серьёзность

Метрика Оценка
CVSS v3.1 (NVD) 5.3 (Средний)
CVSS v4.0 (Concrete CMS) 6.3 (Средний)

Концептуальный уязвимый код

Примечание: Вендор не публиковал фактический уязвимый исходный код. Следующий пример лишь иллюстрирует паттерн уязвимости.

$messageId = $_GET['messageId'];

$message = $conversationRepository->find($messageId);

// Missing authorization check
return response()->json([
    'message' => $message->getContent(),
    'attachments' => $message->getAttachments()
]);

Почему это уязвимо

Приложение доверяет управляемому пользователем messageId и возвращает запрошенное сообщение, не подтверждая, что запрашивающий пользователь авторизован для доступа к нему.

Исправленный код (концептуальный)

$messageId = $_GET['messageId'];

$message = $conversationRepository->find($messageId);

if (!$authorizationService->canView($currentUser, $message)) {
    return response()->json([
        'error' => 'Access denied'
    ], 403);
}

return response()->json([
    'message' => $message->getContent(),
    'attachments' => $message->getAttachments()
]);

Почему это исправление работает

Исправленная реализация выполняет серверную проверку авторизации перед возвратом любых данных беседы. Даже если злоумышленник изменит messageId, запрос будет отклонён, если у пользователя нет разрешения на доступ к этому конкретному сообщению. Это предотвращает несанкционированное раскрытие содержимого бесед и вложений.

Скачать инструмент