PKCS#12 PBMAC1 PBKDF2 keylength 中的栈缓冲区溢出(OpenSSL 3.X)
大约一年前发现了这个栈缓冲区溢出,后来发现它是重复的(CVE-2025-11187)
问题发生在 libcrypto 的 PKCS# PBMAC1 处理中,当 PBKDF2 的 keylength 受攻击者控制时,会在 pkcs12_gen_mac()(crypto/pkcs12/p12_mutl.c)中对固定栈缓冲区进行写入越界(已在 OpenSSL 3.6.0 上测试)
(如果你要运行 PoC,别忘了按需修改文件路径)