Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
copyfail-mitigation — Ansible 플레이북으로 CVE-2026-31431("Copy Fail")을 감사하고 완화합니다. 이는 2017년부터 모든 주요 배포판에 영향을 미치는 Linux 커널의 `algif_aead` 모듈에 있는 로컬 권한 상승 취약점입니다. | Kitploit
도구/GitHubGitHub/mahradbt/copyfail-mitigation
Cloud Infrastructure SecurityVulnerability AnalysisConfiguration AuditingDevSecOpsIncident Response
GitHubmahradbt/copyfail-mitigation

copyfail-mitigation

Ansible 플레이북으로 CVE-2026-31431("Copy Fail")을 감사하고 완화합니다. 이는 2017년부터 모든 주요 배포판에 영향을 미치는 Linux 커널의 `algif_aead` 모듈에 있는 로컬 권한 상승 취약점입니다.

저장소 보기
244개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-31431 — Copy Fail

Linux 커널 algif_aead 권한 상승 / 메모리 손상
Ansible 기반 감사 및 완화 플레이북 — 프로덕션에서 바로 실행 가능


개요

Copy Fail(CVE-2026-31431)은 Linux 커널의 algif_aead 모듈 — AF_ALG 암호화 소켓 패밀리의 사용자 공간용 AEAD 인터페이스 — 에 존재하는 취약점입니다.
AEAD 요청 핸들러 내부의 커널 copy_*user 경로에 있는 결함으로 인해 로컬 비특권 사용자가 악의적으로 조작된 소켓 요청을 만들어 커널 메모리를 손상시키거나 권한을 상승시킬 수 있습니다.

필드세부 정보
CVE IDCVE-2026-31431
별칭Copy Fail
구성 요소Linux 커널 — algif_aead (net/socket.c, crypto/algif_aead.c)
공격 벡터로컬
필요 권한낮음 (비특권 사용자)
영향커널 메모리 손상 / 로컬 권한 상승
패치 상태업스트림 커널 패치 진행 중 — 배포판 공급업체 확인

영향받는 시스템

algif_aead가 로드되지 않았고 요청 시 로드하는 사용자 공간 도구가 없는 경우 시스템은 즉각적인 위험에 노출되지 않습니다 (감사 1단계 참조).


영향 요약


저장소 구조

root@kitploit:~
.
├── audit_algif_aead.yml      # 1단계 — 감사: 호스트별 노출 감지
├── mitigate_copyfail.yml     # 2단계 — 완화: 모듈 언로드 + 블랙리스트
└── README.md                 # 이 문서

사전 요구 사항

  • 컨트롤 노드에 Ansible ≥ 2.14
  • community.general 컬렉션 (ansible-galaxy collection install community.general)
  • 대상 호스트에 대한 SSH 접근 + become: true (sudo)
  • 대상에 lsof 설치 (일반적으로 기본 설치됨)

인벤토리 설정

inventory.ini는 gitignore 처리됩니다 — 로컬에만 유지되며 저장소에 절대 포함되지 않습니다. inventory.ini.example은 모든 사용자가 시작하는 커밋된 템플릿입니다.

root@kitploit:~
# 클론 및 준비
git clone https://github.com/your-org/copy-fail-CVE-2026-31431.git
cd copy-fail-CVE-2026-31431
cp inventory.ini.example inventory.ini

# inventory.ini를 실제 호스트로 편집한 후 실행:
ansible-playbook -i inventory.ini audit_algif_aead.yml

인프라 데이터 유출을 방지하기 위해 다음 경로는 gitignore 처리됩니다:


1단계 — 감사

아무것도 건드리기 전에 감사 플레이북을 실행하세요. 호스트별 증거를 수집하고 로컬 및 각 대상에 보고서를 작성합니다.

root@kitploit:~
ansible-playbook -i inventory.ini audit_algif_aead.yml

보고서는 ./copyfail_reports/<hostname>_audit.txt로 가져옵니다.

감사에서 확인하는 항목

판정 해석

조건권장 조치
모듈이 로드되지 않음즉각적인 위험 낮음 — 커널 패치 모니터링
모듈 로드됨, AF_ALG 소켓 사용자 없음완화 조치 적용 안전
모듈 로드됨 및 AF_ALG 사용자 활성완화 조치 적용 전 프로세스 검토
완화 파일 이미 존재이전에 완화 조치 적용됨 — 확인

2단계 — 완화

먼저 감사를 실행하세요. 완화 플레이북은 멱등적으로 실행해도 안전하지만 감사를 통해 증거 추적이 가능합니다.

root@kitploit:~
ansible-playbook -i inventory.ini mitigate_copyfail.yml

특정 호스트 건너뛰기 (예: kcapi 의존성이 확인된 호스트):

root@kitploit:~
ansible-playbook -i inventory.ini mitigate_copyfail.yml \
  -e '{"skip_hosts": ["db-prod-01", "hsm-node-02"]}'

완화 조치가 수행하는 작업

  1. install algif_aead /bin/false가 포함된 /etc/modprobe.d/disable-algif.conf 생성
  2. 실행 중인 커널에서 algif_aead 모듈 언로드 (초기 보호를 위해 재부팅 불필요)
  3. initramfs 업데이트로 재부팅 후에도 블랙리스트 유지 (Debian/Ubuntu는 update-initramfs, RHEL은 dracut --force)
  4. /var/backup/copyfail_mitigation/mitigation.log에 타임스탬프 로그 작성

메모리에서 모듈을 제거하기 위해 재부팅은 필요하지 않습니다.
블랙리스트가 적용되는지 확인하고 완화 후 깨끗한 상태를 확립하기 위해 재부팅을 권장합니다.


검증

플레이북 완료 후 대상 호스트에서 확인:

root@kitploit:~
# 모듈이 나타나지 않아야 함
lsmod | grep algif_aead

# 블랙리스트 파일이 존재하고 install 라인이 포함되어야 함
cat /etc/modprobe.d/disable-algif.conf

# 수동 로드가 거부되어야 함
sudo modprobe algif_aead   # 예상: FATAL: Module algif_aead not found or refused

되돌리기 (커널 패치 후)

공급업체가 패치된 커널을 릴리스하고 적용한 후:

root@kitploit:~
# 각 호스트에서 — 블랙리스트 제거
sudo rm /etc/modprobe.d/disable-algif.conf

# initramfs 재구축
sudo update-initramfs -u        # Debian / Ubuntu
sudo dracut --force              # RHEL / CentOS / Amazon Linux

# 패치된 커널로 재부팅
sudo reboot

참고 자료

  • CERT Europa Advisory 2026-005
  • Ubuntu Security Notice — Copy Fail
  • xint.io — Copy Fail across Linux distributions
  • Linux kernel algif_aead source

라이선스

MIT License에 따라 배포됩니다.
사용에 따른 책임은 본인에게 있습니다. 프로덕션 시스템에 적용하기 전에 항상 스테이징 환경에서 검증하세요.


커뮤니티에서 유지 관리합니다. PR 및 이슈 보고를 환영합니다.

도구 다운로드
배포판영향받는 버전상태
Ubuntu 22.04 / 24.04패치 릴리스 미만의 커널패치 대기 중 — Ubuntu USN 참조
Debian 12 (Bookworm)패치 릴리스 미만의 커널패치 대기 중
RHEL / AlmaLinux / Rocky 8 & 9패치 릴리스 미만의 커널패치 대기 중
Amazon Linux 2 / 2023패치 릴리스 미만의 커널패치 대기 중
일반 업스트림algif_aead 컴파일 또는 자동 로드모듈이 존재하면 취약
하위 시스템이 CVE의 영향?완화 조치의 영향?
dm-crypt / LUKS아니요아니요
kTLS아니요아니요
IPsec / StrongSwan아니요아니요
OpenSSL (기본 빌드)아니요아니요
GnuTLS / NSS아니요아니요
OpenSSH아니요아니요
OpenSSL afalg 엔진잠재적으로 예예 — 적용 전 검토 필요
kcapi-enc / kcapi-dgst 도구예예
Gitignore 경로이유
inventory.ini실제 호스트명 / IP
inventories/모든 로컬 인벤토리 디렉터리
copyfail_reports/감사 출력에 커널 버전, 프로세스 목록 포함
.vault_passAnsible Vault 비밀번호 파일
*.retryAnsible 재시도 아티팩트
확인 항목명령판정
커널 버전uname -r정보 제공용
모듈 로드 여부lsmod | grep algif_aead로드됨 = 노출 위험
활성 AF_ALG 소켓lsof | grep AF_ALG사용자 발견 = 검토 필수
OpenSSL afalg 엔진openssl engine | grep afalg활성 = 영향 검토
kcapi 도구 존재which kcapi-*존재 = 잠재적 사용자
완화 조치 적용 여부stat /etc/modprobe.d/disable-algif.conf존재 = 이미 완화됨