CVE-2026-39892Python cryptography包在45.0.0至46.0.7之前的版本中存在严重安全漏洞。当非连续缓冲区被传递给接受Python缓冲区的API(如Hash.update())时,可能引发缓冲区溢出。该漏洞允许攻击者无需认证即可通过网络利用,可能导致机密性、完整性和可用性全面受损,风险极高。
该漏洞的根源在于cryptography库的底层C扩展未能正确处理非连续的Python缓冲区对象。在Python中,缓冲区协议允许对象共享内存数据,但某些对象(如切片或特定视图)的内存布局是不连续的。当受影响版本的cryptography库中的API(例如Hash.update())接收到此类非连续缓冲区时,其底层的C代码逻辑在计算内存偏移量或处理长度时出现错误。攻击者可以构造特制的非连续缓冲区数据传递给相关接口,触发缓冲区溢出。由于该组件被广泛用于加密处理,且攻击无需用户交互和身份认证,攻击者可通过网络发送恶意数据包,导致目标进程崩溃或潜在的任意代码执行,从而完全控制受害系统。