xingguangcuican6666/ABK_CVE_Fix_Module

GitHub: xingguangcuican6666/ABK_CVE_Fix_Module

该工具在 ABK 构建流程中自动将 Android 安全公告的 kernel CVE 官方修复补丁反向移植到 GKI kernel 源码树,确保自编译内核获得最新的安全修复。

Stars: 0 | Forks: 0

# ABK CVE Patcher ABK 外部模块,可在 ABK 构建时,将来自 Android 安全公告(2025 年 12 月 – 2026 年 7 月)的 kernel CVE 修复反向移植到 GKI kernel 源码树中。 这些补丁提取自匹配的 AOSP common kernel 分支 (`android14-6.1-2026-06`),因此它们是 Google 为此 kernel 系列发布的确切修复方案 —— 而非手动编写的近似补丁。 ## 用法 将该模块添加到 ABK 构建中(“自定义外部模块”): App / 目录: ``` https://github.com/xingguangcuican6666/ABK_CVE_Fix_Module.git ``` GitHub Actions 输入 (`custom_external_modules`): ``` module:https://github.com/xingguangcuican6666/ABK_CVE_Fix_Module.git;after_patch ``` 建议使用 `after_patch` 阶段:它在 ABK 的内置源码集成 (SUSFS、ZRAM、KernelSU 等)之后并在编译之前运行。`before_build` 也可以 —— 该 patcher 具有幂等性,因此甚至可以在两个阶段都运行。 ## 支持的 kernel 系列 | 系列 | 源码分支 | 状态 | | --- | --- | --- | | `android14-6.1` | `aosp/android14-6.1-2026-06` | 支持 | 其他 kernel 系列(5.10、5.15、6.6、6.12)的构建会被检测到并跳过, 同时发出警告 —— 对于没有对应补丁的构建,该模块绝不会导致其失败。要添加 新的系列,请参阅 [docs/development.md](docs/development.md)。 ## 行为机制 对于当前激活的 kernel 系列,`setup.sh` 会按顺序应用位于 `patches//series.tsv` 中的补丁系列。每个补丁都会: - 当源码树已包含该修复时跳过 —— 由每个补丁的 guard 行加上 `git apply --reverse --check` 检测,因此更新的 sublevel 和重复运行都是安全的; - 使用 `git apply` 应用,在 sublevel 之间存在微小上下文差异时回退到 three-way merge,并在之后断言 guard 行; - 否则报告为失败,这将中止构建(参见下方的选项)。 已针对干净的 `android14-6.1` (6.1.118) 检出进行了验证:首次运行 应用了缺失的补丁,第二次运行报告 13/13 已应用。 ## 选项 可以在工作流的 fork 中设置为环境变量,或者从 更早运行的其他外部模块中导出: | 变量 | 含义 | | --- | --- | | `ABK_CVE_SKIP` | 要跳过的逗号分隔 CVE ID,例如 `CVE-2026-0038` | | `ABK_CVE_ONLY` | 仅应用列出的 CVE ID | | `ABK_CVE_NONFATAL` | `true` = 记录补丁失败日志,但不中止构建 | ## 覆盖的 CVE (android14-6.1) 13 个补丁覆盖了 14 个 CVE(F2FS、af_unix、EPoll、XFRM、vsock、TLS、 KVM/pKVM、Hypervisor)。完整表格请参见 [CVES.md](CVES.md),其中还包括 故意**未**覆盖的安全公告 CVE:不适用于 6.1 kernel 系列的修复、不属于 GKI 源码树 组成部分的 Arm Mali / Qualcomm 供应商组件,以及其修复尚未在上游 发布的 CVE。 ## 许可证 模块脚本采用 GPL-3.0 许可证。`patches/` 下的补丁提取自 Linux kernel / AOSP common kernel,采用 GPL-2.0 许可证。
标签:Android内核, Cutter, Git, GKI, 漏洞补丁, 系统编译, 网络安全研究