漏洞概述 在 函数中,当处理 PKCS#11 Security Officer (SO) PIN 变化时,如果 token 没有设置受保护的认证路径,存在一个使用后释放(Use-after-free)漏洞。具体来说, 被调用时,如果 和 ,并且 token 没有声明 ,解析后的 PKCS#11 URI 会在会话打开后立即被释放,但在后续检索 SO PIN 时再次使用,导致堆使用后释放。 影响范围 该漏洞可能导致进程崩溃或在精确的堆操纵下引发内存损坏。这是一个经典的 CWE-416(使用后释放)漏洞。 修复方案 最小修复方法是推迟释放 URI,直到所有使用完成,并通过常见的清理路径路由早期错误路径。 POC 代码 修复代码