百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
返回工具页/返回 Issues 列表
#20045·o3de

Linux: 静态链接的 OpenSSL 1.1.1 导致引擎库中泄露信息,并损坏同一进程中的其他 OpenSSL 用户

作者: nickschuetz创建于 2026年8月24日更新于 2026年9月2日
标签platform/linuxkind/bugsig/coresig/platformtriage/acceptedpriority/major

Linux 编译将第三方 OpenSSL 1.1.1t 静态链接到引擎共享库中,默认的符号可见性(不包含共享的 libcrypto 或 libssl)。实际结果是,libAzFramework.so 导出了 1700 个 OpenSSL 符号,未版本化:在当前的开发配置中,nm -D --defined-only 计数了 1733 个与 EVP_ / SSL_ / MD5_ / SHA_ / X509_ / BIO_ 族匹配的导出,而 EVP_DigestInit、EVP_DigestInit_ex 等作为普通 T 导出,没有版本后缀。同一个进程中的任何其他库如果使用不同的 OpenSSL,其调用都可以通过这些导出捕获,因为动态加载器允许未版本化定义满足版本化引用,只要在查找顺序中找到它。最小的重现,不需要 O3DE 运行时,只需要标准的 Linux 编译和系统 Python:

内容来源: o3de/o3de

查看 GitHub 原文在 GitHub 查看讨论