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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
copy-fail-fix — 각 배포판별 CVE-2026-31431("Copy Fail") Linux 커널 LPE 완화 스크립트. | Kitploit
도구/GitHubGitHub/bryanvine/copy-fail-fix
Vulnerability AnalysisScripting & AutomationConfiguration Auditing
GitHubbryanvine/copy-fail-fix

copy-fail-fix

각 배포판별 CVE-2026-31431("Copy Fail") Linux 커널 LPE 완화 스크립트.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

copy-fail-fix

CVE-2026-31431("Copy Fail")에 대한 배포판별 완화 스크립트 — 2017년 이후 출시된 사실상 모든 배포판에 영향을 미치는 Linux 커널 algif_aead 로컬 권한 상승 취약점입니다.

각 스크립트는 배포판 저장소에서 패치된 커널을 설치하거나(사용 가능한 경우), 사용할 수 없으면 취약한 algif_aead 커널 모듈을 블랙리스트에 등록하여 패치된 커널로 재부팅할 때까지 익스플로잇 경로를 차단합니다.

요약

배포판에 맞는 스크립트를 선택하고, 감사한 후 root로 실행하세요.

root@kitploit:~
# Ubuntu
sudo bash scripts/ubuntu.sh

# Debian
sudo bash scripts/debian.sh

# RHEL / Rocky / AlmaLinux / CentOS Stream
sudo bash scripts/rhel.sh

# Fedora
sudo bash scripts/fedora.sh

# Arch
sudo bash scripts/arch.sh

# openSUSE Leap / Tumbleweed
sudo bash scripts/opensuse.sh

# Alpine
sudo bash scripts/alpine.sh

# 기타 (Gentoo, NixOS, 불변 배포판 등)
sudo bash scripts/universal.sh

아무것도 변경하지 않는 미리보기를 원하면 먼저 --check를 사용하세요.

각 스크립트가 수행하는 작업

배포판별 스크립트는 다음 알고리즘을 실행합니다. 는 4~5단계를 건너뜁니다.

universal.sh
  1. sudo 권한 획득. 이미 root가 아니면 sudo로 재실행합니다.
  2. 배포판 확인. --force가 없으면 호스트와 일치하지 않는 배포판에서 실행을 거부합니다.
  3. uname -r 읽기.
  4. 이미 패치됨? 배포판에 PATCHED_KERNEL_VERSION이 기록되어 있고 실행 중인 커널이 해당 버전 이상이면 스크립트는 남은 완화 파일을 제거하고 종료합니다.
  5. 패치 사용 가능? 패키지 관리자에게 확인합니다. 패치된 버전 이상의 커널 후보가 있으면 설치를 묻는 프롬프트가 표시됩니다(--yes로 건너뛰기). 설치 후 수동으로 재부팅합니다.
  6. 완화. 아직 패치된 커널을 사용할 수 없거나(또는 거부한 경우) /etc/modprobe.d/cve-2026-31431.conf에 blacklist algif_aead 및 install algif_aead /bin/true를 작성한 다음 AF_ALG 소켓 바인드 프로브를 통해 익스플로잇 경로가 차단되었는지 확인합니다.

패치 상태

PATCHED_KERNEL_VERSION = PENDING은 해당 배포판에 대해 유지관리자가 아직 수정된 커널 버전을 기록하지 않았음을 의미합니다. 각 행은 한 줄 PR을 통해 업데이트됩니다.

배포판커널 패키지패치된 버전마지막 확인
Ubuntu (24.04)linux-image-genericPENDING2026-05-01
Debianlinux-image-amd64PENDING2026-05-01
RHEL / Rocky / AlmakernelPENDING2026-05-01
FedorakernelPENDING2026-05-01
ArchlinuxPENDING2026-05-01
openSUSEkernel-defaultPENDING2026-05-01
Alpinelinux-ltsPENDING2026-05-01

플래그

플래그의미
-y, --yes비대화형; 커널 설치 프롬프트를 건너뜁니다.
--force배포판 불일치 확인을 우회합니다.
--check읽기 전용 미리보기; 수행할 작업을 출력하고 아무것도 변경하지 않습니다.
--undo/etc/modprobe.d/cve-2026-31431.conf를 제거합니다. 패치된 커널 설치 후 사용하세요.
-h, --help사용법 정보.

완화 수동 확인

스크립트는 이 프로브를 자동으로 실행합니다. 직접 확인하려면:

root@kitploit:~
python3 - <<'PY'
import socket, errno
try:
    s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0)
    s.bind(("aead", "authencesn(hmac(sha1),cbc(aes))"))
    print("BAD: bind succeeded — host is NOT mitigated")
    s.close()
except OSError as e:
    print(f"OK: bind blocked, errno={e.errno} ({e.strerror})" if e.errno == errno.ENOENT
          else f"INCONCLUSIVE: errno={e.errno}")
PY

완화 또는 패치된 호스트는 OK: bind blocked, errno=2 ...를 출력합니다.

되돌리기

배포판에서 수정된 커널을 게시하고 재부팅한 후, AF_ALG aead를 합법적으로 사용하는 애플리케이션이 다시 작동할 수 있도록 modprobe 블랙리스트를 제거하세요:

root@kitploit:~
sudo bash scripts/<your-distro>.sh --undo

기여

배포판에서 수정된 커널을 게시하면:

  1. scripts/<distro>.sh에서 한 줄을 편집하세요 — PATCHED_KERNEL_VERSION을 수정된 패키지 버전으로 설정합니다(dpkg-query -W / rpm -q VERSION-RELEASE / pacman -Q가 반환하는 형식).
  2. 이 README의 패치 상태 표에서 해당 행을 업데이트하세요.
  3. <distro>: fix shipped in <version> 제목의 PR을 열어주세요.

면책 조항

보안 완화 도구입니다. 인터넷에서 찾은 스크립트를 sudo bash로 실행하기 전에 반드시 감사하세요. 유지관리자는 MIT 라이선스에 따라 어떠한 책임도 지지 않습니다.

라이선스

MIT.

도구 다운로드