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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/sbeteta42/cve-2026-31431_je_sappelle_root
Vulnerability AnalysisConfiguration AuditingLearning & EducationIncident ResponseCurated Resources
GitHubsbeteta42/cve-2026-31431_je_sappelle_root

CVE-2026-31431_je_sappelle_RoOt

CVE-2026-31431 - 교정 가이드 및 보호 조치

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
164개월 전아직 검토되지 않음
공유

CVE-2026-31431 - Copy Fail - Je s'appelle ROOT !#

CVE Type Platform Status

📌 저장소 목적

이 저장소는 CVE-2026-31431(일명 Copy Fail) 취약점을 문서화하고, 잠재적으로 노출된 Linux 시스템을 위한 방어적 조치(remédiation) 절차를 제공합니다.

⚠️ 이 저장소는 엄격하게 방어, 승인된 감사, 강화 및 조치에 중점을 둡니다.
악용 절차를 제공하지 않으며, 타 시스템을 침해하는 데 사용되어서는 안 됩니다.


1. 요약

CVE-2026-31431 / Copy Fail은 Linux 커널의 로컬 권한 상승 취약점입니다.

이는 커널의 암호화 하위 시스템, 특히 AF_ALG 사용자 인터페이스와 algif_aead 모듈과 관련이 있습니다. 이 결함은 2017년 Linux 커널의 AEAD 경로에 도입된 최적화와 관련이 있습니다. 특정 조건에서 권한이 없는 로컬 사용자는 읽기 가능한 파일(특히 setuid 바이너리)의 페이지 캐시(page cache) 에 대한 제어된 쓰기를 유발할 수 있으며, 이는 root로의 권한 상승으로 이어질 수 있습니다.

이 취약점은 CVSS v3.1 점수 7.8로 High(높음) 등급으로 간주됩니다.


2. CVE 정보

항목세부 사항
CVECVE-2026-31431
공개 이름Copy Fail
유형로컬 권한 상승, LPE
구성 요소Linux 커널 암호화 하위 시스템
관련 모듈algif_aead
인터페이스AF_ALG
관련 메커니즘AEAD, authencesn, splice(), 페이지 캐시
CVSS v3.1 점수7.8 High
필요한 권한권한 없는 로컬 계정
사용자 상호 작용없음
영향높은 기밀성, 무결성 및 가용성

3. 영향받는 시스템

공개 소스에 따르면 2017년 최적화 이후 취약한 브랜치에서 파생된 커널을 탑재한 Linux 배포판이 노출될 수 있습니다.

공개 게시물에서 언급된 플랫폼의 예:

배포판공개적으로 테스트된 커널 버전 예
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default
Debian커널 버전 및 보안 상태에 따라 다름
AlmaLinux / Rocky Linux / Oracle Linux커널 버전 및 공급업체 백포트에 따라 다름

정확한 상태는 커널 버전, 공급업체, 보안 백포트 및 이미 적용된 패치에 따라 다릅니다.


4. 이 결함이 중요한 이유

이 취약점은 신뢰할 수 없는 사용자 또는 워크로드가 로컬 셸 또는 공유 실행 환경에 접근할 수 있는 환경에서 특히 위험합니다.

우선 순위가 높은 환경:

  • 다중 사용자 서버
  • 여러 계정에 노출된 SSH 서버
  • 교육 또는 실습 플랫폼
  • CI/CD 러너
  • 빌드 서버
  • Kubernetes 클러스터
  • 컨테이너 호스트
  • 공유 플랫폼
  • 멀티 테넌트 클라우드 환경

주요 위험:

  • root로의 로컬 권한 상승
  • 호스트 손상
  • 페이지 캐시를 통한 메모리 내 수정으로 인한 디스크 무결성 검사 부분 우회
  • 동일한 호스트 커널을 공유하는 컨테이너에 대한 잠재적 영향

5. 빠른 확인

5.1 커널 버전 확인

root@kitploit:~
uname -a
uname -r

5.2 algif_aead 모듈이 로드되었는지 확인

root@kitploit:~
lsmod | grep algif_aead || true

5.3 AF_ALG 소켓이 사용 중인지 확인

root@kitploit:~
sudo lsof -nP | grep AF_ALG || true

5.4 설치된 커널 패키지 확인

Debian / Ubuntu

root@kitploit:~
dpkg -l | grep -E '^ii\\s+linux-image|^ii\\s+linux-modules'

RHEL / Rocky / AlmaLinux / Fedora

root@kitploit:~
rpm -qa | grep -E '^kernel|^kernel-core'

SUSE

root@kitploit:~
rpm -qa | grep -E '^kernel'

6. 권장 조치

우선 옵션: 공급업체 커널 패치 적용 올바른 조치는 배포판에서 제공하는 패치된 커널을 설치한 다음 해당 커널로 재부팅하는 것입니다.

Debian / Ubuntu

root@kitploit:~
sudo apt update
sudo apt full-upgrade -y
sudo reboot

RHEL / Rocky / AlmaLinux / Oracle Linux

root@kitploit:~
sudo dnf update -y kernel kernel-core kernel-modules
sudo reboot

SUSE

root@kitploit:~
sudo zypper refresh
sudo zypper patch
sudo reboot
# 재부팅 후:
uname -r
  • 그런 다음 배포판의 보안 추적기에서 상태를 확인합니다.

7. 임시 완화 조치

패치된 커널을 아직 사용할 수 없거나 즉시 재부팅이 불가능한 경우 임시 완화 조치를 적용합니다.

7.1 algif_aead 로딩 비활성화

root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf

7.2 이미 로드된 모듈 언로드

root@kitploit:~
sudo modprobe -r algif_aead 2>/dev/null || true
sudo rmmod algif_aead 2>/dev/null || true

7.3 필요한 경우 initramfs 업데이트

Debian / Ubuntu

root@kitploit:~
sudo update-initramfs -u

RHEL / Rocky / AlmaLinux / Oracle Linux

root@kitploit:~
sudo dracut -f

SUSE

root@kitploit:~
sudo mkinitrd

7.4 재부팅

root@kitploit:~
sudo reboot

7.5 모듈을 더 이상 로드할 수 없는지 확인

root@kitploit:~
sudo modprobe algif_aead
echo $?
  • 예상 결과: 로딩이 실패해야 합니다.

8. 특수 사례: 커널에 하드 컴파일된 모듈

일부 커널에서는 모듈이 커널에 직접 컴파일되어 모듈 형태로 로드/언로드할 수 없습니다.

  • 확인 방법:
root@kitploit:~
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • 가능한 결과:
root@kitploit:~
CONFIG_CRYPTO_USER_API_AEAD=m

구성 요소가 모듈입니다. /etc/modprobe.d/를 통한 완화가 적용 가능합니다.

root@kitploit:~
CONFIG_CRYPTO_USER_API_AEAD=y

구성 요소가 커널에 통합되어 있습니다. modprobe.d를 통한 완화만으로는 충분하지 않습니다.

이 경우 다음을 우선 사용합니다:

  • 패치된 커널
  • 사용 가능한 경우 공급업체 라이브패치
  • 공급업체가 문서화한 부팅 옵션

일부 소스에서는 다음과 같은 커널 옵션을 가능한 우회 방법으로 언급합니다:

root@kitploit:~
initcall_blacklist=algif_aead_init

일반화 전에 반드시 프로덕션 환경 밖에서 테스트해야 합니다. 이 옵션은 커널, 배포판 및 부팅 구성에 따라 다를 수 있습니다.

9. 컨테이너 환경 강화

Docker, Podman, Kubernetes 및 CI/CD의 경우 신뢰할 수 없는 워크로드가 AF_ALG 소켓을 열 가능성을 줄여야 합니다.

권장 조치:

  • 호스트 노드에 커널 패치 적용
  • 가능한 경우 seccomp를 통해 AF_ALG 차단 또는 제한
  • 권한 있는 워크로드 회피
  • 절대적으로 필요한 경우가 아니면 privileged: true 컨테이너 금지
  • AppArmor, SELinux 또는 이에 상응하는 기능 활성화
  • 신뢰할 수 없는 코드를 실행하는 CI/CD 러너 격리
  • 민감한 워크로드에는 전용 노드 우선 사용

10. 탐지 및 모니터링

10.1 AF_ALG 사용 검색

root@kitploit:~
sudo lsof -nP | grep AF_ALG || true

10.2 로드된 모듈 검색

root@kitploit:~
lsmod | grep algif_aead || true

10.3 중요한 setuid 바이너리 모니터링

root@kitploit:~
find / -perm -4000 -type f 2>/dev/null

10.4 /usr/bin/su에 대한 의심스러운 접근 모니터링

root@kitploit:~
sudo ausearch -f /usr/bin/su 2>/dev/null || true

10.5 auditd 규칙 예시

root@kitploit:~
sudo auditctl -w /usr/bin/su -p x -k su_exec_monitoring
  • 그런 다음 확인:
root@kitploit:~
sudo ausearch -k su_exec_monitoring

11. 사고 대응 계획

악용이 의심되는 경우:

  • 네트워크에서 시스템 격리
  • 로그 보존
  • 페이지 캐시 정리를 위해 재부팅
  • 시스템 무결성 확인
  • 로컬 계정 검사
  • 최근에 추가된 SSH 키 검색
  • cron 및 systemd 작업 확인
  • 비밀번호 및 시크릿 순환
  • 패치된 커널 적용
  • 재부팅 및 활성 버전 검증
  • 확인 후에만 시스템 재통합

유용한 명령:

root@kitploit:~
last -a
lastlog
getent passwd
sudo find /etc/cron* -type f -ls 2>/dev/null
sudo find /root /home -name authorized_keys -type f -ls 2>/dev/null
sudo journalctl --since "48 hours ago"

12. 조치 체크리스트

  • 노출된 Linux 시스템 목록 작성.
  • 커널 버전 식별.
  • 공급업체 보안 게시판 확인.
  • 다중 사용자 서버, CI/CD, Kubernetes 및 컨테이너 우선 순위 지정.
  • 공급업체 커널 패치 적용.
  • 패치된 커널로 재부팅.
  • 패치를 아직 사용할 수 없는 경우 임시 완화 조치 적용.
  • 컨테이너 환경에서 AF_ALG 차단 또는 제한.
  • setuid 바이너리 접근 모니터링.
  • 권한 상승 흔적 확인.
  • 수행된 작업 문서화.

13. 방어적 완화 스크립트 예시

root@kitploit:~
#!/usr/bin/env bash
set -euo pipefail

echo "[+] CVE-2026-31431 - algif_aead 임시 완화"

if [[ $EUID -ne 0 ]]; then
  echo "[-] 이 스크립트는 root로 실행해야 합니다."
  exit 1
fi

echo "[+] 활성 커널 버전: $(uname -r)"

echo "[+] algif_aead 로딩 영구 비활성화"
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf

echo "[+] 모듈 언로드 시도"
modprobe -r algif_aead 2>/dev/null || true
rmmod algif_aead 2>/dev/null || true

if command -v update-initramfs >/dev/null 2>&1; then
  echo "[+] Debian/Ubuntu initramfs 업데이트"
  update-initramfs -u
elif command -v dracut >/dev/null 2>&1; then
  echo "[+] dracut을 통한 initramfs 업데이트"
  dracut -f
elif command -v mkinitrd >/dev/null 2>&1; then
  echo "[+] mkinitrd를 통한 initramfs 업데이트"
  mkinitrd
else
  echo "[!] 알려진 initramfs 도구가 감지되지 않았습니다. 수동으로 확인하세요."
fi

echo "[+] 확인"
lsmod | grep algif_aead && echo "[!] 모듈이 아직 로드됨" || echo "[OK] 모듈이 로드되지 않음"

echo "[+] 재부팅 권장."

14. 완화 조치의 한계

  • algif_aead 모듈 비활성화를 통한 완화는 임시 우회 조치입니다.

이는 다음을 대체하지 않습니다:

  • 패치된 커널 설치

  • 패치된 커널로 재부팅

  • 공급업체 상태 검증

  • 침해가 의심되는 경우 사후 분석

  • 또한 AF_ALG 암호화 인터페이스를 사용하도록 명시적으로 구성된 일부 소프트웨어에 영향을 줄 수 있습니다.

15. 참고 자료

Theori / Xint Code — Copy Fail 기술 분석 https://xint.io/blog/copy-fail-linux-distributions Theori PoC GitHub 저장소 https://github.com/theori-io/copy-fail-CVE-2026-31431 NVD — CVE-2026-31431 https://nvd.nist.gov/vuln/detail/CVE-2026-31431 CERT-EU — 보안 권고 2026-005 https://cert.europa.eu/publications/security-advisories/2026-005/ Ubuntu Security — CVE-2026-31431 https://ubuntu.com/security/CVE-2026-31431 Debian Security Tracker — CVE-2026-31431 https://security-tracker.debian.org/tracker/CVE-2026-31431 SUSE CVE Tracker — CVE-2026-31431 https://www.suse.com/security/cve/CVE-2026-31431.html Tenable FAQ — Copy Fail https://www.tenable.com/blog/copy-fail-cve-2026-31431-frequently-asked-questions-about-linux-kernel-privilege-escalation

16. 법적 고지

이 저장소는 다음 목적으로만 제공됩니다:

  • 교육
  • 방어
  • 승인된 감사
  • 조치
  • 시스템 강화

승인되지 않은 공격적 사용은 불법이며 이 저장소의 목적에 반합니다.

도구 다운로드