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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-67875 — CVE-2025-67875 - ChurchCRM имеет хранимую XSS через назначение свойств Person, ведущую к захвату сеанса администратора | Kitploit
Инструменты/GitHubGitHub/lukasz-rybak/cve-2025-67875
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHublukasz-rybak/cve-2025-67875

CVE-2025-67875

CVE-2025-67875 - ChurchCRM имеет хранимую XSS через назначение свойств Person, ведущую к захвату сеанса администратора

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

Популярное

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

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

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

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

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

CVE-2025-67875: ChurchCRM имеет хранимую XSS-уязвимость через назначение свойств лица, ведущую к угону сессии администратора

Обзор

ПолеПодробности
Идентификатор CVECVE-2025-67875
СерьезностьHIGH
РекомендацияПосмотреть рекомендацию
ОбнаруженоLukasz Rybak

Затронутые продукты

  • ChurchCRM/CRM

Подробности

Краткое описание

Критическая уязвимость повышения привилегий существует в ChurchCRM версии 6.3.0 и ранее. Аутентифицированный пользователь с определенными разрешениями среднего уровня («Edit Records» и «Manage Properties and Classifications») может внедрить постоянную полезную нагрузку межсайтового скриптинга (XSS) в профиль администратора. Полезная нагрузка выполняется, когда администратор просматривает свою страницу профиля, что позволяет атакующему перехватить сессию администратора, выполнять административные действия и добиться полного захвата учетной записи.

Эта уязвимость представляет собой комбинацию двух отдельных недостатков: небезопасной прямой ссылки на объект (IDOR), которая позволяет любому пользователю просматривать профиль любого другого пользователя, и уязвимости нарушенного контроля доступа, которая позволяет пользователю с общими разрешениями на редактирование изменять свойства записи любого другого пользователя.

Подробности

Цепочка атаки выглядит следующим образом:

  1. IDOR в PersonView.php: В начале PersonView.php отсутствует проверка авторизации. Любой аутентифицированный пользователь может просмотреть страницу профиля любого другого пользователя (например, PersonView.php?PersonID=1 для администратора), просто зная его ID.

  2. Нарушенный контроль доступа в PropertyAssign.php: Функциональность «Назначить новое свойство», доступная со страницы PersonView.php другого пользователя, перенаправляет пользователя на PropertyAssign.php. Этот скрипт правильно проверяет, есть ли у пользователя общее разрешение isEditRecordsEnabled(), но не выполняет проверку авторизации на уровне объекта, чтобы убедиться, что пользователю разрешено редактировать конкретный PersonID, переданный в URL. Это позволяет пользователю с разрешением «Edit Records» изменять свойства любого человека в системе, включая администратора.

  3. Вектор хранимой XSS: Злоумышленник может использовать эти два недостатка, чтобы перейти на страницу профиля администратора и с помощью формы «Назначить новое свойство» сохранить вредоносную XSS-полезную нагрузку в записи администратора. Поле Value для текстовых свойств не проходит должную санацию на входе (применяется только strip_tags, который не удаляет обработчики событий) и не кодируется на выходе, что приводит к хранимой XSS.

    • Обработка ввода (src/PropertyAssign.php): Сохраняет значение свойства после применения только strip_tags(), что допускает атрибуты обработчиков событий, такие как onerror.
    • Уязвимый выходной приемник (src/PersonView.php): Отображает сохраненное значение свойства непосредственно в HTML без htmlspecialchars(), что приводит к выполнению полезной нагрузки.
      root@kitploit:~
      // src/PersonView.php, line ~722
      <td><?= $r2p_Value ?></td> // Уязвимо: необработанный вывод
      

PoC

Это доказательство концепции демонстрирует, как пользователь с определенными разрешениями среднего уровня может внедрить хранимую XSS-полезную нагрузку в профиль главного администратора.

Предварительные требования:

  • У злоумышленника есть учетная запись с включенными двумя конкретными разрешениями:
    1. Edit Records
    2. Manage Properties and Classifications

Сценарий:

  1. Вход от имени злоумышленника: Войдите как пользователь с разрешениями, перечисленными выше.
image
  1. Нацелиться на администратора: Перейдите непосредственно на страницу профиля администратора, обычно это PersonID=1.
    root@kitploit:~
    http://localhost:8101/PersonView.php?PersonID=1
    
    (Доступ предоставляется из-за IDOR в PersonView.php).
image
  1. Внедрение полезной нагрузки:
    • На странице профиля администратора прокрутите вниз до вкладки Assigned Properties.
    • В форме «Assign a New Property» выберите текстовое свойство, например «Test». (Форма видна благодаря разрешению «Edit Records»).
    • В появившемся текстовом поле Value введите следующую XSS-полезную нагрузку:
      root@kitploit:~
    • Нажмите кнопку «Assign». Полезная нагрузка теперь сохранена в записи администратора. (Присвоение возможно из-за нарушенного контроля доступа в PropertyAssign.php).
image
image
  1. Запуск атаки:
    • Теперь злоумышленник может дождаться, пока администратор войдет в систему и просмотрит свой профиль.
    • Когда администратор перейдет на свою страницу профиля (PersonView.php?PersonID=1), полезная нагрузка выполнится немедленно, и появится окно предупреждения. Злоумышленник может использовать более продвинутую полезную нагрузку для кражи сессионного cookie администратора.
image
image

Воздействие

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

Атрибуция

Сообщил: Łukasz Rybak

Ссылки

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-fcw7-mmfh-7vjm

Отказ от ответственности

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

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