LLVM 安全小组透明度报告¶
此页面列出了 LLVM 安全小组的年度透明度报告。
2021¶
LLVM 安全小组于 2020 年 7 月 10 日由初始提交创建,该提交描述了该小组的目的及其遵循的流程。该小组的许多流程在当时尚未明确定义,无法有效运行。在 2021 年期间,关键流程得到了充分定义,使小组能够较为顺利地运行。
我们定义了如何报告安全问题的细节,请参阅2021 年 5 月 20 日的提交
我们完善了新小组成员的提名流程,请参阅2021 年 7 月 30 日的提交
我们开始撰写年度透明度报告(您正在阅读 2021 年的报告)。
在 2021 年期间,LLVM 安全小组有 2 人离开,4 人加入。
2021 年,安全小组收到了 13 份问题报告,这些报告在 2021 年 12 月 31 日之前公开可见。安全小组判断其中 2 份报告为安全问题。
这两个问题都通过源代码更改得到了解决:#5 在 clangd/vscode-clangd 中,#11 在 llvm-project 中。这两个问题都没有发布专门的 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 报告了一种新的幽灵漏洞变体,推测性加载硬化 (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++ 共享/动态库上运行时,basic_string 移动赋值中的内存泄漏。
https://bugs.chromium.org/p/llvm/issues/detail?id=56 报告了由 LLVM 后端引入的越界缓冲区存储,由于程序性疏忽而导致回归。
上述任何问题都没有发布专门的 LLVM 版本。
在 2023 年期间,LLVM 安全小组新增了一名成员。