Crihexe/copy-fail-tiny-elf-CVE-2026-31431

GitHub: Crihexe/copy-fail-tiny-elf-CVE-2026-31431

针对 CVE-2026-31431 的最小化无 libc Linux x86_64 ELF 概念验证构建,用于在授权环境中复现 Copy Fail 漏洞。

Stars: 38 | Forks: 7

# 复制失败的 Tiny ELF - CVE-2026-31431 针对 Copy Fail 漏洞(CVE-2026-31431)的最小 492 字节 Linux x86_64 no-libc ELF 概念验证构建。 本代码仓库包含一个经过体积优化的 ELF 构建版本,衍生自公开的 Copy Fail 研究与 PoC。**本构建仅限于在授权环境中进行受控测试、研究和复现。** ## 参考 - 技术分析文章: https://copy.fail/ - 上游 PoC 仓库: https://github.com/theori-io/copy-fail-CVE-2026-31431 - NVD 条目: https://nvd.nist.gov/vuln/detail/CVE-2026-31431 ## 要求 - Linux x86_64 - gcc - ld - strip 在 Debian/Ubuntu 上: ``` sudo apt install build-essential binutils ``` ## Nix 环境 本仓库包含锁定的 `shell.nix` 和 `.envrc` 文件。 使用 `nix-shell`: ``` nix-shell ``` 使用 `direnv`: ``` direnv allow ``` 这会提供此处所使用的可复现工具链: ``` gcc 15.2.1 GNU ld / strip from llvmPackages_19.bintools python3 ``` ## 构建 ``` make ``` 如果您正在使用 Nix 或 `direnv`,`make` 将自动使用来自当前 shell 的工具链。 ## 快速 VM 测试 您也可以在一个快速的 `Ubuntu Server 24.04 LTS` 虚拟机中尝试此漏洞利用 ``` cd test-vm ./quick-test.sh ``` ## 检查大小 ``` make size ``` ## 清理 ``` make clean ``` ## 已测试的工具链 ``` gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1) GNU ld (GNU Binutils for Ubuntu) 2.42 GNU strip (GNU Binutils for Ubuntu) 2.42 ``` 可复现的更小体积构建: ``` gcc 15.2.1 GNU ld 2.46 GNU strip with --strip-section-headers ``` 最终大小会因 GCC、binutils 和 strip 的具体实现而异。
标签:Binutils, Copy Fail, CVE-2026-31431, direnv, ELF, Exploit, GCC, Maven, Nix, PoC, x86_64, 二进制瘦身, 无libc, 暴力破解, 极小ELF, 汇编, 漏洞复现, 漏洞验证, 网络安全, 虚拟机测试, 隐私保护