eximiait/CVE-2026-31431

GitHub: eximiait/CVE-2026-31431

基于Ansible的CVE-2026-31431漏洞自动化检查与缓解工具,支持一键修复和回滚操作。

Stars: 0 | Forks: 0

# CVE-2026-31431 (Copy Fail) 检查工具 检查 Linux 主机是否存在 CVE-2026-31431 漏洞并应用缓解措施。 ## 文件 - `check_cve_2026_31431.yml` - 用于检查和修补的 Ansible Playbook - `revert_cve_2026_31431.yml` - 用于撤销缓解措施的 Ansible Playbook - `run_check.sh` - 用于在本地或远程执行检查的脚本 - `run_revert.sh` - 用于在本地或远程撤销更改的脚本 ## 执行示例 ### 1. 检查漏洞 (run_check.sh) ``` ./run_check.sh # 选择 'l' 以进行 local ``` 或者直接运行: ``` ansible-playbook -i "localhost," -c local --ask-become-pass check_cve_2026_31431.yml -v ``` ### 2. 撤销更改 (run_revert.sh) 撤销由 run_check.sh 应用的缓解措施: ``` ./run_revert.sh # 选择 'l' 以进行 local ``` 或者直接运行: ``` ansible-playbook -i "localhost," -c local --ask-become-pass revert_cve_2026_31431.yml -v ``` 撤销操作会删除 `/etc/modprobe.d/disable-algif.conf` 并尝试重新加载 `algif_aead` 模块。 ### 2. 远程 ``` ansible-playbook -i "192.168.1.100," -u ubuntu --ask-become-pass check_cve_2026_31431.yml -v ``` 针对多台主机(创建 `hosts.ini`): ``` [servers] 192.168.1.100 192.168.1.101 ``` ``` ansible-playbook -i hosts.ini --ask-become-pass check_cve_2026_31431.yml -v ``` ### 3. 撤销更改(撤销缓解措施) ``` ./run_revert.sh # 选择 'l' 以进行 local ``` ### 4. 在 Docker 容器内 ``` docker run -it --privileged ubuntu:22.04 /bin/bash # 在 container 内: apt update && apt install -y ansible python3 # 将 playbook 复制到 container 或使用 curl/wget ansible-playbook -i "localhost," -c local check_cve_2026_31431.yml -v ``` 或者从主机挂载 playbook: ``` docker run -it --privileged -v $(pwd)/check_cve_2026_31431.yml:/check.yml ubuntu:22.04 # 在内:ansible-playbook -i "localhost," -c local /check.yml -v ``` ### 5. 针对 Docker 镜像的 CI/CD Pipeline **GitHub Actions** (`.github/workflows/check-cve.yml`): ``` name: Check CVE-2026-31431 on: push: branches: [ main ] pull_request: jobs: check-vulnerability: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Build test image run: docker build -t test-image . - name: Check for CVE-2026-31431 in container run: | docker run --rm \ -v ${{ github.workspace }}/check_cve_2026_31431.yml:/check.yml \ test-image \ /bin/bash -c "apt update && apt install -y ansible python3 && \ echo 'no' | ansible-playbook -i 'localhost,' -c local /check.yml -v" - name: Fail if vulnerable run: | # El playbook debe retornar != 0 si es vulnerable # O parsear la salida buscando "VULNERABLE" ``` **GitLab CI** (`.gitlab-ci.yml`): ``` stages: - build - security build_image: stage: build script: - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA . check_cve: stage: security script: - docker run --rm -v $(pwd)/check_cve_2026_31431.yml:/check.yml $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA /bin/bash -c "apt-get update && apt-get install -y ansible python3 && ansible-playbook -i 'localhost,' -c local /check.yml -v | grep -q 'SAFE' || exit 1" rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' ``` **构建时执行检查的 Dockerfile**: ``` FROM ubuntu:22.04 RUN apt-get update && apt-get install -y ansible python3 wget # 在 build 期间复制并执行 check COPY check_cve_2026_31431.yml /tmp/ RUN echo "no" | ansible-playbook -i "localhost," -c local /tmp/check_cve_2026_31431.yml -v | \ grep -q "SAFE" || (echo "VULNERABLE - Fix before building" && exit 1) # 你的 imagen 的其余部分... ``` ## run_check.sh 的作用 1. 检查 `authencesn` 算法是否可通过 AF_ALG 访问 2. 如果存在漏洞,询问是否应用缓解措施: - 禁用 `algif_aead` 模块(创建 `/etc/modprobe.d/disable-algif.conf`) - 如果有可用的更新,则更新 kernel 3. 修补后重新检查 ## run_revert.sh 的作用 1. 删除 `/etc/modprobe.d/disable-algif.conf` 2. 尝试重新加载 `algif_aead` 模块 3. 检查系统是否再次变为易受攻击状态 ## Playbook 的作用 1. 检查 `authencesn` 算法是否可通过 AF_ALG 访问 2. 如果存在漏洞,询问是否应用缓解措施: - 禁用 `algif_aead` 模块 - 如果有可用的更新,则更新 kernel 3. 修补后重新检查 ## 预期结果 ``` Status: SAFE - System is protected ``` © 2026 EximiaIT 安全评估工具 – CVE-2026-31431 (Copy Fail) 本项目仅用于授权的安全测试、审计和教育目的。 严禁在未经适当授权的情况下使用本软件。 EximiaIT 对因使用本工具不当或造成的损害概不负责。
标签:algif_aead, Ansible Playbook, CI/CD 安全, Cutter, CVE-2026-31431, DevSecOps, Docker 安全, GitHub Actions, IT 运维, Linux 安全, PB级数据处理, Python3.6, Shell 脚本, 上游代理, 内核模块, 安全基线, 安全资源, 安全运维, 库, 应急响应, 教学环境, 数据投毒防御, 漏洞修复, 漏洞缓解, 系统加固, 系统提示词, 网络安全, 网络安全培训, 自动化运维, 自动笔记, 请求拦截, 远程执行, 隐私保护