CVE-2025-11187CVE-2025-11187是OpenSSL中的一个安全漏洞,存在于PKCS#12文件的PBMAC1参数验证过程中。当验证使用PBMAC1进行MAC的PKCS#12文件时,PBKDF2的salt和keylength参数直接从文件中读取使用而未经任何验证。如果keylength的值超过了用于派生密钥的固定栈缓冲区大小(64字节),密钥派生过程将导致栈缓冲区溢出,溢出长度由攻击者控制。此外,如果salt参数不是OCTET STRING类型,可能导致无效指针或NULL指针解引用。攻击者可以利用此漏洞造成应用程序崩溃(拒绝服务),在某些平台缓解措施下还可能实现代码执行。由于PKCS#12文件通常用于存储可信的私钥,应用接受不可信PKCS#12文件的情况较少,因此该漏洞被评估为中等严重程度。
漏洞根源在于OpenSSL处理PKCS#12文件时对PBMAC1 MAC验证的参数验证缺失。具体问题包括:1) PBKDF2密钥派生过程中,keylength参数未验证就直接使用,当keylength>64字节时会溢出64字节的栈缓冲区;2) salt参数类型检查缺失,非OCTET STRING类型的salt会导致指针操作异常。攻击者构造恶意PKCS#12文件,设置超长的keylength值或异常类型的salt参数,诱导目标应用解析该文件即可触发漏洞。成功利用可导致DoS(栈溢出崩溃或NULL指针解引用),在特定条件下可能实现代码执行。