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

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

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

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

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

Категории

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

CVE-2026-8239

Разбор уязвимости безопасности IDOR в Concrete CMS, раскрывающей оценки разговоров из-за отсутствия авторизации на эндпоинте get_rating, с описанием первопричины, сценария атаки и исправления.

Репозиторий
19 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-8239

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

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

Продукт: Concrete CMS Затронутые версии: 9.5.0 и более ранние Исправленная версия: 9.5.1 Конечная точка: /ccm/frontend/conversations/get_rating Тип уязвимости Категория: Insecure Direct Object Reference (IDOR) CWE-862: Отсутствие авторизации

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

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

Вместо проверки владения или разрешений приложение доверяет идентификатору, предоставленному пользователем.

Концептуально:

Пользователь указывает messageId ↓ Сервер находит сообщение ↓ Проверка авторизации отсутствует ↓ Возвращается рейтинг сообщения

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

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

Предположим, приложение хранит сообщения переписок с числовыми ID.

Легитимный запрос может ссылаться на:

GET /ccm/frontend/conversations/get_rating?messageId=125

Атакующий может просто изменить идентификатор:

GET /ccm/frontend/conversations/get_rating?messageId=126

Если приложение отвечает рейтинговой оценкой вместо 403 Forbidden или 404 Not Found, атакующий может подтвердить, что сообщение существует, и получить информацию о его рейтинге.

Это классический IDOR, поскольку изменяется только идентификатор объекта — не требуется ни вредоносной полезной нагрузки, ни внедрённых команд.

Влияние

Атакующий может:

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

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

Серьёзность

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

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

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

$messageId = $_GET['messageId'];

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

// No authorization check return response()->json([ 'rating' => $message->getRating() ]);

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

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

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

$messageId = $_GET['messageId'];

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

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

return response()->json([ 'rating' => $message->getRating() ]);

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

Исправленная реализация проверяет наличие у аутентифицированного пользователя разрешения на просмотр запрошенного сообщения перед возвратом его рейтинга. Даже если атакующий изменит messageId, сервер применяет авторизацию и отклоняет неавторизованные запросы ответом HTTP 403 Forbidden. Это предотвращает IDOR, гарантируя, что пользователи могут получать доступ только к тем ресурсам, которые им разрешено просматривать.

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