
CVE-2026-31431(algif_aead를 통한 Linux 커널 권한 상승)에 대한 안전한 탐지 및 커널 패치 스크립트를 제공합니다. 읽기 전용 검사, 모듈 블랙리스트, 커널 전용 업그레이드를 포함합니다.
algif_aead(AF_ALG)를 통한 Linux 커널 로컬 권한 상승 CVSS 7.8 HIGH | 공개 공개: 2026년 4월
일반 사용자로 실행:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/check_cve_2026_31431.sh -o check.sh && bash check.sh
이 스크립트는:
algif_aead AEAD 바인드 경로에 도달 가능한지 확인합니다root로 실행:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/patch_cve_2026_31431.sh -o patch.sh && sudo bash patch.sh
서버에서 Elastic Agent를 제거하려면 root로 실행:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/uninstall_elastic_agent.sh -o uninstall-elastic.sh && sudo bash uninstall-elastic.sh
이 스크립트는:
elastic-agent uninstall을 실행합니다다음 환경 내부에 있는 경우:
wg-easy 컨테이너컨테이너 내부에서 호스트 커널을 패치할 수 없습니다.
스크립트는 컨테이너를 자동으로 감지하고 안전하게 종료됩니다.
패치 스크립트는 다음에서 실행해야 합니다:
컨테이너 내부가 아닙니다.
Linux 커널 algif_aead 암호화 인터페이스의 결함으로 인해 권한이 없는 로컬 사용자가 AF_ALG 작업을 통해 페이지 캐시 내용을 손상시킬 수 있습니다.
취약한 커널 구성에서 다음이 가능할 수 있습니다:
이 문제는 취약한 AEAD 최적화 로직이 존재하고 도달 가능한 Linux 커널 버전에 영향을 미칩니다.
| OS | 버전 |
|---|---|
| Ubuntu | 20.04 / 22.04 / 24.04 |
| Debian | 11 / 12 / 13 |
| Proxmox VE | 6.x / 7.x / 8.x / 9.x |
| 일반 Linux | 취약한 커널을 사용하는 모든 배포판 |
check_cve_2026_31431.sh안전한 읽기 전용 탐지 스크립트.
| 검사 항목 | 설명 |
|---|---|
| 커널 버전 | 취약한 커널 범위 확인 |
| 패치 존재 여부 | 패치된 커널 식별 시도 |
| algif_aead 상태 | 모듈 로드 / 블랙리스트 상태 확인 |
| AF_ALG 소켓 | algif_aead AEAD 바인드 도달 가능성 테스트 |
Python os.splice | 순수 Python 악용 가능성 확인 |
| Setuid 노출 | 일반적인 setuid 대상 감지 |
| 완화 조치 | AppArmor / SELinux / seccomp 확인 |
탐지 스크립트는:
patch_cve_2026_31431.sh안전한 커널 전용 완화 + 업그레이드 스크립트.
다음을 위해 설계되었습니다:
uninstall_elastic_agent.shLinux 서버에서 Elastic Agent를 제거하는 안전한 도우미 스크립트.
다음을 위해 설계되었습니다:
/opt/Elastic/Agent에 Elastic Agent가 설치된 시스템다음을 생성합니다:
/etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
내용:
blacklist algif_aead
install algif_aead /bin/false
그런 다음 시도합니다:
rmmod algif_aead
이렇게 하면 취약한 모듈의 자동 로드가 차단됩니다.
또한 update-initramfs를 사용할 수 있는 경우 스크립트는 initramfs를 새로 고쳐 블랙리스트가 재부팅 후에도 안정적으로 유지되도록 합니다.
아무것도 업그레이드하기 전에 스크립트는 다음을 수행합니다:
apt-get -s install --only-upgrade ...
비커널 패키지가 업그레이드될 경우:
스크립트는 자동으로 중단됩니다.
이렇게 하면 의도하지 않은 애플리케이션 업그레이드를 방지할 수 있습니다.
스크립트는 다음만 업그레이드합니다:
애플리케이션/런타임 패키지는 업그레이드되지 않습니다.
시스템이 재부팅되면 패치 스크립트는 이제 다음 부팅 시 검증 단계를 자동으로 다시 실행하는 임시 원샷 systemd 서비스를 설치합니다.
이를 통해 단일 스크립트 실행으로 다음을 처리할 수 있습니다:
먼저 가장 안전한 옵션:
sudo bash patch.sh --dry-run
이 옵션은:
프로덕션 배포 전에 권장됩니다.
sudo bash patch.sh --no-reboot
sudo bash patch.sh --reboot-now
--reboot-now를 사용하면 스크립트는 재시작을 예약하기 전에 재부팅-재개 후크를 설치합니다.
sudo reboot
--no-reboot를 사용하거나 나중에 수동으로 재부팅하는 경우에도 재부팅 후 검증은 다음 부팅 시 자동으로 재개됩니다.
스크립트는 다음을 건드리지 않도록 설계되었습니다:
그러나:
--dry-run을 실행하세요패치 로그:
/var/log/cve_2026_31431_kernel_patch.log
실행 중인 커널 확인:
uname -r
탐지를 다시 실행:
bash check.sh
모듈 블랙리스트 확인:
cat /etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
이 스크립트는 방어적 보안 및 시스템 관리 목적으로만 제공됩니다.
악용 코드는 포함되어 있지 않습니다.
항상:
사용에 따른 책임은 본인에게 있습니다.
MIT 라이선스
Linux 커널 수정 커밋 https://git.kernel.org/linus/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
Ubuntu 보안 공지 https://ubuntu.com/security
Debian 보안 추적기 https://security-tracker.debian.org/