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

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

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

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

工具目录

分类

查看所有分类
Loading categories
PoC-CVE-2025-69420 — 仅崩溃PoC,用于CVE-2025-69420,通过畸形的ESS签名证书属性演示了OpenSSL时间戳响应验证中的类型混淆漏洞。 | Kitploit
工具/GitHubGitHub/kha-beleh/poc-cve-2025-69420
漏洞分析漏洞利用模糊测试密码学学习与教育二进制利用
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

仅崩溃PoC,用于CVE-2025-69420,通过畸形的ESS签名证书属性演示了OpenSSL时间戳响应验证中的类型混淆漏洞。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-69420 — OpenSSL TimeStamp Response 类型混淆 PoC

OpenSSL 中 CVE-2025-69420 的仅崩溃实验室复现器。该 PoC 加载一个有效的 RFC 3161 时间戳响应,在内存中将签名的 ESS 属性从 V_ASN1_SEQUENCE 更改为 V_ASN1_NULL,并调用 TS_RESP_verify_response()。

在受影响的构建上,ossl_ess_get_signing_cert_v2() 或 ossl_ess_get_signing_cert() 未经验证活动类型即将 ASN1_TYPE 联合体作为序列访问。UBSan 报告通过空 ASN1_STRING 指针访问成员。预期影响为进程终止/拒绝服务;此仓库不包含任何代码执行逻辑。

确认结果

提供的测试输出确认了问题:

root@kitploit:~
runtime error: member access within null pointer of type 'struct ASN1_STRING'
#0 ossl_ess_get_signing_cert_v2
#1 ts_check_signing_certs
#2 TS_RESP_verify_signature
#3 int_ts_RESP_verify_token
#4 TS_RESP_verify_response

这与漏洞描述相符:一个畸形的 TimeStamp Response 到达 TS_RESP_verify_response(),且类型非 V_ASN1_SEQUENCE 的 ESS 签名证书属性导致无效或空指针解引用。

范围

仅在隔离环境中针对您拥有或有权评估的 OpenSSL 构建进行测试。此为纯崩溃复现器。

要求

  • Linux 和 GCC
  • 使用 ASan 和 UBSan 编译的受影响 OpenSSL 构建
  • 构建树中的 OpenSSL 开发头文件

默认构建路径:

root@kitploit:~
/path/to/openssl-3.0.7-asan

必要时可覆盖:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-asan-build

用法

root@kitploit:~
git clone https://github.com/Kha-Beleh/PoC-CVE-2025-69420.git
cd PoC-CVE-2025-69420

export OPENSSL_BUILD=/path/to/openssl-3.0.7-asan
make prepare
make build
make run

或分别运行所有步骤:

root@kitploit:~
./scripts/prepare.sh
./scripts/build.sh
./scripts/run.sh

prepare.sh 使用仓库自带的极简 openssl.cnf,因此不依赖缺失的 $OPENSSL_BUILD/ssl/openssl.cnf。

受影响的构建预期输出

root@kitploit:~
[+] Loaded valid TimeStamp Response
[+] Found attribute: id-smime-aa-signingCertificateV2
[+] Original ASN.1 type: 16
[+] Attribute changed to V_ASN1_NULL
[+] Calling TS_RESP_verify_response()
crypto/ts/ts_rsp_verify.c:...: runtime error: member access within null pointer of type 'struct ASN1_STRING'
    #0 ... in ossl_ess_get_signing_cert_v2
    #1 ... in ts_check_signing_certs
    #2 ... in TS_RESP_verify_signature
    #3 ... in int_ts_RESP_verify_token
    #4 ... in TS_RESP_verify_response

确切的地址和行号因构建而异。设置 UBSAN_OPTIONS=halt_on_error=1 后,进程会在检测到第一个未定义操作时终止。

已修复构建的预期结果

畸形属性应被干净拒绝,不会出现消毒器发现或进程崩溃。PoC 随后打印:

root@kitploit:~
[+] Malformed response rejected without a crash

技术解释

原始属性类型值 16 为 V_ASN1_SEQUENCE。PoC 将其更改为 V_ASN1_NULL。在受影响的实现中,代码随后将联合体成员视为 value.sequence 并对其解引用。由于活动成员不是序列,UBSan 检测到通过空 ASN1_STRING * 访问成员。

这是一个类型混淆/缺少异常条件检查的问题,而非堆或栈缓冲区溢出。

文件

  • poc.c — 最小复现器
  • scripts/prepare.sh — 生成 TSA 密钥、证书、请求和有效响应
  • scripts/build.sh — 针对 ASan/UBSan OpenSSL 构建进行编译
  • scripts/run.sh — 使用消毒器设置运行
  • openssl.cnf — 最小的提供者/请求配置
  • tsa.conf — 本地 RFC 3161 TSA 配置
  • evidence/confirmed-output.txt — 截短的已确认消毒器跟踪

参考

  • NVD:CVE-2025-69420
  • OpenSSL 修复:提交 4e254b48ad93cc092be3dd62d97015f33f73133a
下载工具