CVE-2025-66037OpenSC 0.27.0 之前版本存在安全漏洞。在处理 X.509/SPKI 数据时,攻击者可构造恶意输入导致越界堆读取。具体而言,`sc_pkcs15_pubkey_from_spki_fields` 函数分配零长度缓冲区后读取越界数据。此漏洞需物理接触或高权限利用,可能造成敏感信息泄露或服务不稳定。厂商已发布补丁修复此问题。
该漏洞源于 OpenSC 在解析 X.509/SPKI(Subject Public Key Info)字段时的逻辑错误。受影响的函数 `sc_pkcs15_pubkey_from_spki_fields` 在处理特定结构的公钥信息时,未能正确校验数据长度,导致分配了一个大小为 0 的堆内存缓冲区。随后,代码尝试执行读取操作,访问了该零长度缓冲区末尾之后的一个字节。由于 CVSS 向量标注为物理攻击(AV:P),攻击者通常需要物理接触智能卡读卡器或通过恶意的智能卡来提交特制的输入数据。成功利用此漏洞可导致堆内存信息泄露,潜在暴露加密密钥或其他敏感数据,或引发应用程序崩溃。