LLVM 安全组透明度报告¶
此页面列出了 LLVM 安全组年度透明度报告。
2021¶
LLVM 安全组 于 2020 年 7 月 10 日成立,其成立依据是描述小组宗旨及其遵循流程的 初始提交。小组的许多流程仍然不够完善,无法使小组良好运作。在 2021 年期间,关键流程得到了充分的定义,使小组能够合理地运作
我们定义了如何报告安全问题的详细信息,请参阅 2021 年 5 月 20 日的此提交
我们改进了新小组成员的提名流程,请参阅 2021 年 7 月 30 日的此提交
我们开始编写年度透明度报告(您正在此处阅读 2021 年的报告)。
在 2021 年期间,有 2 人离开了 LLVM 安全组,4 人加入。
2021 年,安全组收到了 13 份问题报告,这些报告在 2021 年 12 月 31 日之前已公开可见。安全组判定其中 2 份报告为安全问题
这两个问题都通过源代码更改得到解决:clangd/vscode-clangd 中的 #5 和 llvm-project 中的 #11。没有为其中任何一个发布专门的 LLVM 版本。
我们认为,随着这份首份年度透明度报告的发布,安全组现在已经实施了所有必要流程,以按照承诺运作。小组的流程可以进一步改进,我们预计在 2022 年将实施更多改进。许多潜在的改进最终会在 LLVM 安全组的每月公开电话会议上讨论。
2022¶
在本节中,我们报告小组在 2022 年收到的问题,或更早收到但在 2022 年披露的问题。
2022 年,llvm 安全组收到了 15 个问题,这些问题在本透明度报告撰写时已公开。
其中 5 个被判定为安全问题
https://bugs.chromium.org/p/llvm/issues/detail?id=17 报告了 LLVM 中的一个错误编译,可能导致帧指针和返回地址被覆盖。这已修复。
https://bugs.chromium.org/p/llvm/issues/detail?id=19 报告了 libc++ 中 std::filesystem::remove_all 的一个漏洞。这已修复。
https://bugs.chromium.org/p/llvm/issues/detail?id=23 报告了一个新的 Spectre gadget 变体,推测加载硬化 (SLH) 无法缓解。没有实施 SLH 的扩展来缓解此变体。
https://bugs.chromium.org/p/llvm/issues/detail?id=30 报告了 (C++) 异常处理路径上缺少内存安全保护。已实施多项修复。
https://bugs.chromium.org/p/llvm/issues/detail?id=33 报告了 RETBLEED 漏洞。结果是 clang 增加了一个新的安全加固功能 -mfunction-return=thunk-extern,请参阅 https://reviews.llvm.org/D129572。
没有为上述任何问题发布专门的 LLVM 版本。
2023¶
在本节中,我们报告小组在 2023 年收到的问题,或更早收到但在 2023 年披露的问题。
其中 9 个被判定为安全问题
https://bugs.chromium.org/p/llvm/issues/detail?id=36 报告了 https://llvm.net.cn/.git 中存在 .git 文件夹。
https://bugs.chromium.org/p/llvm/issues/detail?id=66 报告了 DockerHub 镜像中存在 GitHub 个人访问令牌。
https://bugs.chromium.org/p/llvm/issues/detail?id=42 报告了 Armv8.1-m BTI 保护中可能存在的漏洞,涉及大型 switch 语句和默认情况下的 __builtin_unreachable() 的组合。
https://bugs.chromium.org/p/llvm/issues/detail?id=43 报告了对旧版本 xml2js 的依赖,该版本存在已备案的 CVE。
https://bugs.chromium.org/p/llvm/issues/detail?id=45 报告了许多存在已报告漏洞的依赖项。
https://bugs.chromium.org/p/llvm/issues/detail?id=46 与问题 43 相关。
https://bugs.chromium.org/p/llvm/issues/detail?id=48 报告了来自 -fexperimental-library 的 std::format 中的缓冲区溢出。
https://bugs.chromium.org/p/llvm/issues/detail?id=54 报告了在使用 libc++ 版本 <=6.0 构建并在较新的 libc++ shared/dylibs 上运行时,basic_string 移动赋值中的内存泄漏。
https://bugs.chromium.org/p/llvm/issues/detail?id=56 报告了由 LLVM 后端引入的越界缓冲区存储,由于程序上的疏忽而退化。
没有为上述任何问题发布专门的 LLVM 版本。
在 2023 年期间,有一人加入了 LLVM 安全组。