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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cfDr — Ansible 플레이북: CVE-2026-31431(Copy Fail) 탐지 및 수정 - Linux 커널 로컬 권한 상승 취약점 | Kitploit
도구/GitHubGitHub/parmstro/cfdr
Vulnerability ScannersConfiguration AuditingDevSecOps
GitHubparmstro/cfdr

cfDr

Ansible 플레이북: CVE-2026-31431(Copy Fail) 탐지 및 수정 - Linux 커널 로컬 권한 상승 취약점

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cfDr - 복사 실패 닥터

Copy Fail Detection and Remediation

Linux 커널의 algif_aead 모듈에서 발생하는 치명적인 로컬 권한 상승 취약점인 CVE-2026-31431(복사 실패)을 탐지하고 완화하기 위한 Ansible 역할 및 플레이북 모음입니다.

저장소

🔗 GitHub: https://github.com/parmstro/cfDr

cfDr라는 이름은 "Copy Fail Doctor"의 말장난으로, CVE-2026-31431에 대한 신뢰할 수 있는 해결책을 의미합니다.


목차

  1. CVE-2026-31431 이해하기
  2. 사용 가능한 완화 조치
  3. 탐지 방법론
  4. cfDr 작동 방식
  5. 시스템 암호화에 미치는 영향
  6. 권장 워크플로우
  7. 추가 리소스
  8. 패치 모니터링
  9. 빠른 시작
  10. 고급 구성

CVE-2026-31431 이해하기

복사 실패(Copy Fail)란 무엇인가?

CVE-2026-31431(CVSS 7.8)은 2026년에 발견된 Linux 커널의 AEAD 소켓 인터페이스(AF_ALG)의 논리적 결함입니다. 이 취약점을 통해 권한이 없는 모든 로컬 사용자가 몇 초 만에 루트 권한으로 상승할 수 있습니다.

기술적 세부 사항

  • 영향을 받는 구성 요소: algif_aead 커널 모듈(AF_ALG 암호화 인터페이스)
  • 취약점 유형: 복사 작업 처리의 논리적 결함
  • 공격 벡터: 로컬
  • 필요한 권한: 없음(권한 없는 사용자)
  • 사용자 상호 작용: 없음
  • 영향: 시스템 전체 장악(루트 액세스)

영향을 받는 시스템

커널 버전: Linux 커널 >= 4.10(2017년 출시)

영향을 받는 배포판:

  • Red Hat Enterprise Linux 7, 8, 9
  • CentOS 7, 8, 9(및 Stream)
  • Fedora(현재 지원되는 모든 버전)
  • Ubuntu 17.04 이상
  • Debian 9(Stretch) 이상
  • SUSE Linux Enterprise 12, 15

참고: 커널 4.10 이상을 사용하는 모든 Linux 배포판은 잠재적으로 취약합니다.

이것이 중요한 이유

이 취약점은 특히 다음과 같은 이유로 위험합니다:

  1. 권한 불필요 - 모든 사용자 계정이 악용할 수 있음
  2. 즉시 권한 상승 - 몇 초 만에 루트 액세스 가능
  3. 광범위한 영향 - 7년 이상의 커널 릴리스에 영향
  4. 로컬 실행 - 원격 액세스가 필요 없지만, 초기 침투에 성공한 공격자는 즉시 권한을 상승시킬 수 있음
  5. 활발한 악용 - 공개 익스플로잇이 존재함

실제 영향

공격자가 SSH, 웹 셸, 컨테이너 탈출 등 어떤 형태로든 로컬 액세스 권한을 얻으면 다음과 같은 행위가 가능합니다:

  • 시스템에 대한 완전한 제어권 확보
  • 영구 백도어 설치
  • 민감한 데이터 접근
  • 네트워크의 다른 시스템으로 이동
  • 랜섬웨어 또는 암호화폐 채굴기 배포

사용 가능한 완화 조치

공급업체가 제공하는 커널 패치를 기다리는 동안 여러 완화 전략을 사용할 수 있습니다. cfDr는 시스템 구성을 기반으로 한 지능적인 권장 사항과 함께 이러한 모든 전략을 구현합니다.

보호 수준 이해하기

모든 완화 조치가 동일한 것은 아닙니다. 알아야 할 사항은 다음과 같습니다:

방법루트가 우회할 수 있나요?적용 범위엔터프라이즈 Linux 지원
모듈 블랙리스트✅ 예(insmod 통해)modprobe 로딩 방지모든 버전
SELinux 정책❌ 아니요(LSM 계층)구성된 도메인만모든 버전(기본값)
systemd seccomp❌ 아니요(시스콜 필터)구성된 서비스만모든 버전
eBPF LSM❌ 아니요(LSM 계층)시스템 전체(구성된 경우)RHEL 9+, Fedora 34+

권장 접근 방식: 심층 방어(Defense-in-Depth)

cfDr의 기본 권장 사항: 플래그 3(모듈 블랙리스트 + SELinux)

이 방식은 두 개의 독립적인 보호 계층을 제공합니다:``` ┌─────────────────────────────────────────────────┐ │ Layer 1: Module Blacklist │ │ • Prevents modprobe algif_aead │ │ • Persists across reboots │ │ • CAN be bypassed by malicious root (insmod) │ ├─────────────────────────────────────────────────┤ │ Layer 2: SELinux Policy │ │ • Blocks AF_ALG socket() at syscall level │ │ • Works even if module is loaded │ │ • CANNOT be bypassed from userspace │ │ • Covers user_t, unconfined_t (majority cases) │ └─────────────────────────────────────────────────┘

Result: If either layer fails, the other still protects

root@kitploit:~
### 모듈 블랙리스트만으로는 충분하지 않은 이유

루트 권한을 가진 결심한 공격자는 모듈 블랙리스트를 우회할 수 있습니다:```bash
# Module blacklist DOES NOT prevent:
insmod /lib/modules/$(uname -r)/kernel/crypto/algif_aead.ko.xz

그러나, 이는 허용 가능한 이유는 다음과 같습니다:

  1. 이 취약점은 권한 상승(비특권 → root)을 대상으로 합니다
  2. 공격자가 이미 root 권한을 보유한 경우, 모듈을 로드하지 않고도 직접 악용할 수 있습니다
  3. 모듈 블랙리스트는 주요 공격 벡터를 보호합니다

완전한 보호 전략

완전하고 우회 불가능한 보호를 위해서는 다음이 필요합니다:

모듈 블랙리스트 + 다음 중 하나 이상:

  • SELinux 정책(Enterprise Linux에 권장)
  • systemd seccomp 필터(서비스별 보호)
  • eBPF LSM 프로그램(RHEL 9+ 전용, 시스템 전체)

완화 플래그 참조

cfDr는 비트 플래그를 사용하여 여러 완화 조치를 활성화합니다:

플래그 값활성화된 완화 조치사용 사례
1모듈 블랙리스트만최소 보호, SELinux가 없는 시스템
2SELinux만SELinux 전용 환경
3모듈 블랙리스트 + SELinux권장 기본값
5모듈 블랙리스트 + seccompSELinux가 없는 서비스 강화 환경
7모듈 블랙리스트 + SELinux + seccomp강화된 보호
15모든 완화 조치최대 보호(RHEL 9+ 전용)

플래그 계산: 1(블랙리스트) + 2(SELinux) + 4(seccomp) + 8(eBPF) = 합계

알아두어야 할 적용 범위 공백

SELinux 보호:

  • 정책에 지정된 도메인만 적용: user_t, unconfined_t, httpd_t, postgresql_t, mysqld_t
  • 다른 SELinux 도메인에서 실행되는 프로세스는 보호되지 않을 수 있습니다
  • 실제로 user_t 및 unconfined_t는 대부분의 공격 시나리오를 포괄합니다

systemd seccomp 보호:

  • 명시적으로 구성된 서비스만 보호합니다
  • 기본 구성 적용 범위: httpd, nginx, postgresql, mariadb, redis, memcached
  • 이러한 서비스 외부의 프로세스는 보호되지 않습니다

eBPF LSM 보호:

  • 커널 5.7+ 필요(RHEL 9, Fedora 34+)
  • 올바르게 구현하려면 전문 지식이 필요합니다
  • 올바르게 구성하면 포괄적인 시스템 전체 보호를 제공할 수 있습니다

탐지 방법론

cfDr가 취약점을 탐지하는 방법

cfDr는 여러 차원에 걸쳐 포괄적인 평가를 수행합니다:

1. 커널 버전 확인```bash

uname -r

root@kitploit:~
- 커널 버전이 4.10 이상인지 확인합니다 (취약 범위)
- 커널 릴리스 및 배포판을 식별합니다

#### 2. 모듈 사용 가능 여부 확인```bash
modinfo algif_aead
  • 커널에 algif_aead 모듈이 존재하는지 확인합니다
  • 모듈 위치와 메타데이터를 확인합니다

3. 모듈 로드 상태```bash

lsmod | grep algif_aead

root@kitploit:~
- 모듈이 현재 로드되었는지 확인
- **중요**: 로드된 모듈 = 적극적으로 악용 가능

#### 4. 활성 소켓 탐지```bash
lsof -U | grep AF_ALG
  • 활성 AF_ALG 소켓 식별
  • 잠재적 활성 악용 가능성 표시

5. 기존 완화 조치 탐지

모듈 블랙리스트:```bash grep -E "blacklist algif_aead|install algif_aead" /etc/modprobe.d/*.conf

root@kitploit:~
**SELinux 정책**:```bash
semodule -l | grep cve_2026_31431_af_alg_deny

systemd seccomp:```bash systemctl show | grep RestrictAddressFamilies

root@kitploit:~
#### 6. 범주형 상태 판정

cfDr는 각 호스트를 다음 상태 중 하나로 분류합니다:

| 상태 | 조건 | 필요한 조치 |
|--------|-----------|-----------------|
| **취약 - 모듈 로드됨** | 커널 >= 4.10, 모듈 존재 및 로드됨 | **즉시** - 실제 악용 가능 |
| **취약 - 모듈 존재** | 커널 >= 4.10, 모듈 존재, 로드되지 않음 | **높음** - 로드 및 악용 가능 |
| **완화됨 - 모듈 블랙리스트** | 블랙리스트 감지됨 | **낮음** - 모니터링, 추가 보안 계층 적용 |
| **보호됨 - 심층 방어** | 블랙리스트 + SELinux/seccomp/eBPF | **없음** - 완전히 보호됨 |
| **취약하지 않음 - 구형 커널** | 커널 < 4.10 | **없음** - 취약점 이전 버전 |
| **취약하지 않음 - 모듈 없음** | algif_aead 모듈이 커널에 없음 | **없음** - 모듈 사용 불가 |

### 평가 출력

각 호스트는 다음을 받습니다:
1. **콘솔 출력**: 한 줄 요약 상태
2. **상세 파일**: `/root/cve-2026-31431-assessment-<hostname>.txt`
3. **JSON 보고서**: `/tmp/cve-2026-31431-<hostname>.json`

간단한 출력 예시:```
webserver1.example.com: VULNERABLE - Module exists and can be loaded
dbserver2.example.com: PROTECTED - Defense-in-depth (Module Blacklist + SELinux)
appserver3.example.com: NOT VULNERABLE - Module not available

cfDr 작동 방식

아키텍처

cfDr은 여러 플레이북 진입점을 갖춘 현대적인 Ansible 역할로 구축되었습니다:``` cfDr/ ├── roles/ │ └── cve_2026_31431/ # Main role │ ├── tasks/ │ │ ├── main.yml # Role orchestration │ │ ├── assessment.yml # Vulnerability detection │ │ ├── remediation_module_blacklist.yml │ │ ├── remediation_selinux.yml │ │ ├── remediation_seccomp.yml │ │ ├── remediation_ebpf.yml │ │ ├── reporting.yml # Status reporting │ │ └── inventory_update.yml # Inventory generation │ ├── templates/ # Config file templates │ ├── defaults/ # Default variables │ └── handlers/ # Service restarts, etc. ├── quickstart.yml # Simplest usage ├── sample_playbook.yml # Multiple examples └── cve_2026_31431_playbook.yml # Full-featured playbook

root@kitploit:~
### 실행 흐름

#### 평가 모드 (기본값)```
1. Pre-flight checks
   ↓
2. Gather system facts
   ↓
3. Detect kernel version
   ↓
4. Check module availability
   ↓
5. Check current load status
   ↓
6. Check existing mitigations
   ↓
7. Determine vulnerability status
   ↓
8. Flag vulnerable hosts
   ↓
9. Generate reports
   ↓
10. Create summary
   ↓
11. [Optional] Generate inventory

수정 모드 (apply_remediation=true)```

1-8. [Same as Assessment Mode] ↓ 9. Apply Module Blacklist (if flag 1) • Unload module if loaded • Create blacklist config • Update initramfs/initrd • Verify blacklist works ↓ 10. Apply SELinux Policy (if flag 2) • Install policy packages • Compile policy module • Install policy • Verify policy active ↓ 11. Apply systemd seccomp (if flag 4) • Create drop-in files • Reload systemd • Restart services • Verify filters active ↓ 12. Apply eBPF LSM (if flag 8) • Compile eBPF program • Load into kernel • Verify program attached ↓ 13. Re-assess protection status ↓ 14. Generate reports ↓ 15. Create summary

root@kitploit:~
### 수정 세부 사항

#### 모듈 블랙리스트 (플래그 1)

**기능**:
1. 현재 로드된 `algif_aead` 모듈을 언로드합니다 (`rmmod algif_aead`)
2. `/etc/modprobe.d/blacklist-algif_aead-cve-2026-31431.conf` 파일을 생성합니다:   ```
   blacklist algif_aead
   install algif_aead /bin/true
  1. 재부팅 후에도 유지되도록 initramfs/initrd를 업데이트합니다:
    • Debian/Ubuntu: update-initramfs -u
    • RHEL/Fedora: dracut -f
  2. modprobe를 통해 모듈을 로드할 수 없는지 확인합니다

보호: 즉시 적용, 재부팅 불필요 지속성: 재부팅 및 커널 업데이트 후에도 유지됨

SELinux 정책 (플래그 2)

기능:

  1. 필요한 패키지를 설치합니다:
    • policycoreutils
    • policycoreutils-python-utils
    • selinux-policy-devel
    • checkpolicy
  2. AF_ALG 소켓 생성을 차단하는 SELinux 정책 모듈을 생성합니다
  3. SELinux 빌드 시스템을 사용하여 정책을 컴파일합니다
  4. 정책 모듈을 설치합니다: semodule -i cve_2026_31431_af_alg_deny.pp
  5. 정책이 활성화되었는지 확인합니다

보호 대상 도메인 (기본값):

  • user_t - 일반 사용자 프로세스
  • unconfined_t - 비제한 프로세스
  • httpd_t - Apache 웹 서버
  • postgresql_t - PostgreSQL 데이터베이스
  • mysqld_t - MySQL/MariaDB 데이터베이스

보호: LSM 계층에서 차단, 우회 불가 지속성: 정책은 재부팅 후에도 유지됨

systemd seccomp (플래그 4)

기능:

  1. systemd drop-in 파일을 생성합니다: /etc/systemd/system/<service>.service.d/90-cve-2026-31431-block-af-alg.conf
  2. RestrictAddressFamilies=~AF_ALG 지시문을 추가합니다
  3. systemd 데몬을 다시 로드합니다
  4. 영향을 받는 서비스를 재시작합니다
  5. 필터가 활성화되었는지 확인합니다

보호 대상 서비스 (기본값):

  • httpd, nginx - 웹 서버
  • postgresql, mariadb - 데이터베이스
  • redis, memcached - 캐시 서버

보호: 서비스별로 syscall 수준에서 소켓 생성을 차단 지속성: 재부팅 및 서비스 업데이트 후에도 유지됨

eBPF LSM (플래그 8)

기능:

  1. AF_ALG 소켓 생성을 차단하는 eBPF 프로그램을 컴파일합니다
  2. 프로그램을 커널에 로드합니다
  3. LSM 후크에 연결합니다
  4. 프로그램이 활성화되었는지 확인합니다

요구 사항:

  • CONFIG_BPF_LSM=y가 설정된 커널 5.7 이상
  • RHEL 9, Fedora 34+, 또는 직접 컴파일한 커널

보호: 동적이고 프로그래밍 가능한 시스템 전역 정책 지속성: 부팅 시 다시 로드하려면 시스템 서비스가 필요함

인벤토리 생성

cfDr은 취약한 호스트만 포함하는 즉시 사용 가능한 인벤토리 파일을 생성할 수 있습니다:

생성된 파일:``` inventory_output/ ├── vulnerable_hosts.yml # YAML inventory ├── vulnerable_hosts.ini # INI inventory ├── group_vars_vulnerable_hosts.yml # Group variables └── host_vars/ ├── host1.yml # Per-host details └── host2.yml

root@kitploit:~
**포함 내용**:
- 취약점 평가 결과
- 권장 완화 플래그(호스트별로 계산)
- 시스템 세부 정보(커널 버전, SELinux 상태)
- 즉시 적용 가능한 수정 설정

**지능형 권장 사항**:
- SELinux가 활성화된 경우 플래그 3(모듈 블랙리스트 + SELinux)
- SELinux를 사용할 수 없는 경우 플래그 1(모듈 블랙리스트만)
- 생성된 `host_vars`를 통해 호스트별로 사용자 지정 가능

---

## 시스템 암호화에 미치는 영향

### 중요 발견: 표준 RHEL 암호화는 영향을 받지 않음

**신뢰 수준**: ⭐⭐⭐⭐⭐ **높음** - 종합 분석은 [IPsec/XFRM 검증 보고서](https://github.com/parmstro/cfdr/blob/HEAD/docs/IPSEC_VALIDATION.md) 참조

**Enterprise Linux 배포에 좋은 소식:** [CERT-EU](https://cert.europa.eu/publications/security-advisories/2026-005/), [CloudLinux](https://blog.cloudlinux.com/cve-2026-31431-copy-fail-mitigation-and-patches), [HPCsec](https://www.hpcsec.com/2026/04/30/advisory-cve-2026-31431-copy-fail-local-privilege-escalation-via-af-alg-algif_aead/)를 포함한 권위 있는 소스에 따르면, **cfDr의 완화 조치는 표준 RHEL 시스템 암호화 및 서비스에 최소한의 영향 또는 전혀 영향을 미치지 않습니다**.

### 영향을 받지 않는 항목

다음의 중요한 RHEL 암호화 시스템은 **AF_ALG를 사용하지 않으므로** 당사의 수정 조치에 완전히 영향을 받지 않습니다:

#### 핵심 시스템 서비스

| 서비스/구성 요소 | 기능 | 상태 |
|------------------|----------|--------|
| **dm-crypt / LUKS** | 전체 디스크 암호화 | ✅ 영향 없음 |
| **IPsec / XFRM** | VPN 및 암호화된 네트워킹 | ✅ 영향 없음 ([검증됨](https://github.com/parmstro/cfdr/blob/HEAD/docs/IPSEC_VALIDATION.md)) |
| **kTLS** | 커널 TLS 구현 | ✅ 영향 없음 |
| **SSH** | 보안 셸 연결 | ✅ 영향 없음 |

#### 암호화 라이브러리

| 라이브러리 | 용도 | 상태 |
|---------|-------|--------|
| **OpenSSL** (기본값) | SSL/TLS, 인증서, 일반 암호화 | ✅ 영향 없음 |
| **GnuTLS** (기본값) | TLS 구현 | ✅ 영향 없음 |
| **NSS** | Mozilla 네트워크 보안 서비스 | ✅ 영향 없음 |
| **커널 키링** | 커널 키 관리 | ✅ 영향 없음 |

#### 중요 인프라

- ✅ **SSL/TLS** - 모든 웹 서버 암호화에 영향 없음
- ✅ **HTTPS** - 보안 웹 트래픽에 영향 없음
- ✅ **이메일 암호화** (S/MIME, PGP) - 영향 없음
- ✅ **인증서 작업** - 영향 없음
- ✅ **데이터베이스 암호화** - 영향 없음
- ✅ **백업 암호화** - 영향 없음

### 표준 서비스가 AF_ALG를 사용하지 않는 이유

[Linux 커널 암호화 문서](https://www.kernel.org/doc/html/v4.11/crypto/userspace-if.html)에 문서화된 바와 같이, **AF_ALG는 Linux 2.6.38에서 도입된 커널 암호화용 사용자 공간 소켓 인터페이스**입니다. 그러나 대부분의 RHEL 시스템 서비스는 AF_ALG 소켓 계층을 거치지 않고 커널 암호화 API를 **직접** 사용합니다.

[CERT-EU의 보안 권고](https://cert.europa.eu/publications/security-advisories/2026-005/)에 따르면:

> "dm-crypt / LUKS, kTLS, IPsec, SSH 및 기본 OpenSSL / GnuTLS 빌드는 AF_ALG에 의존하지 않으며 AF_ALG 제한의 영향을 받지 않습니다."

아키텍처는 다음과 같습니다:```
┌─────────────────────────────────────────────┐
│  Userspace Applications                     │
├─────────────────────────────────────────────┤
│  Standard Crypto Libraries                  │
│  (OpenSSL, GnuTLS, NSS)                    │
│  │                                          │
│  └─────> In-Kernel Crypto API ──────────┐  │
│           (Direct access)                │  │
├──────────────────────────────────────────┼──┤
│  AF_ALG Socket Interface (RARELY USED)   │  │
│  │                                       │  │
│  └─────> In-Kernel Crypto API ──────────┘  │
├─────────────────────────────────────────────┤
│  Kernel Crypto Subsystem                    │
│  (AES, SHA, AEAD algorithms)                │
└─────────────────────────────────────────────┘

Standard services bypass AF_ALG entirely

영향을 받을 수 있는 사항 (드문 엣지 케이스)

R-fx Networks 분석에 따르면:

"대부분의 HPC 환경에서는 아무것도 깨지지 않습니다. AF_ALG는 거의 아무도 사용하지 않는 커널 암호화의 사용자 공간 프런트 도어입니다."

다음과 같은 극히 드문 구성만 영향을 받을 수 있습니다:

1. afalg 엔진이 명시적으로 활성화된 OpenSSL

RHEL에서 기본값이 아님. afalg 엔진은 명시적으로 구성해야 합니다:```bash

Check if afalg engine is enabled (rare)

openssl engine afalg

If this returns "afalg is not available", you're safe

root@kitploit:~
**사용 사례:** 하드웨어 암호화 가속 오프로드  
**보급률:** 표준 배포 환경에서 극히 드묾  
**영향:** 애플리케이션이 소프트웨어 암호화로 폴백

#### 2. libkcapi를 사용하는 사용자 지정 애플리케이션

전용 라이브러리를 사용한 **직접 AF_ALG 소켓 프로그래밍**.

**사용 사례:** 특수 보안 도구 또는 사용자 지정 암호화 애플리케이션  
**보급률:** 표준 엔터프라이즈 환경에서 거의 존재하지 않음  
**영향:** 애플리케이션별로 다르며, 코드 수정 필요

#### 3. 하드웨어 암호화 오프로드 도구

하드웨어 가속을 위해 AF_ALG를 사용하는 **전문 도구**.

**사용 사례:** 고성능 컴퓨팅, 암호화 하드웨어 가속기  
**보급률:** 특수 고보안 또는 HPC 환경에서만 사용  
**영향:** 소프트웨어 암호화로 폴백

### Red Hat 공식 입장

[Red Hat Bugzilla #2460538](https://bugzilla.redhat.com/show_bug.cgi?id=2460538)에 따르면:

- **CVE:** CVE-2026-31431
- **심각도:** 높음 (CVSS 7.8)
- **상태:** 커널 6.19.12+에서 수정됨
- **수정 내용:** 2017년 제자리(in-place) 최적화 되돌림 (커밋 72548b093ee3)
- **영향:** "algif_aead에서 제자리(in-place) 작업은 소스와 대상이 서로 다른 매핑에서 오므로 이점이 없음"

### 완화 플래그별 영향 평가

| 플래그 | 완화 조치 | 표준 서비스에 미치는 영향 |
|------|------------|----------------------------|
| 1 | 모듈 블랙리스트 | ✅ 영향 없음 - AF_ALG 미사용 |
| 2 | SELinux 정책 | ✅ 영향 없음 - 미사용 syscall 차단 |
| **3** | **블랙리스트 + SELinux** | ✅ **영향 없음 - 권장** |
| 5 | 블랙리스트 + seccomp | ✅ 영향 없음 - 서비스별 안전 |
| 7 | 블랙리스트 + SELinux + seccomp | ✅ 영향 없음 - 심층 방어 |
| 15 | 모든 완화 조치 | ✅ 영향 없음 - 최대 보호 |

### 완화 후 검증

cfDr 완화 조치 적용 후, 중요 서비스가 계속 정상 작동하는지 검증하십시오:```bash
# Test SSH connectivity
ssh localhost echo "SSH working"

# Test HTTPS (if web server running)
curl -k https://localhost

# Test LUKS encryption (if using encrypted volumes)
cryptsetup status /dev/mapper/luks-volume

# Test IPsec (if VPN configured)
ipsec status

# Test system services
systemctl status sshd
systemctl status httpd
systemctl status postgresql

# Check for any service failures
systemctl --failed

예상 결과: 모든 서비스가 정상적으로 계속 작동합니다.

전문 보안 커뮤니티 합의

여러 권위 있는 보안 기관이 우리의 평가를 확인했습니다:

CERT-EU (2026년 4월 30일):

"dm-crypt / LUKS, kTLS, IPsec, SSH 및 기본 OpenSSL / GnuTLS 빌드는 AF_ALG에 의존하지 않습니다"

Sysdig (2026년 4월 29일):

표준 암호화 작업이 AF_ALG 소켓이 아닌 커널 내부 API를 사용한다고 문서화

R-fx Networks (2026년 5월 2일):

"호스팅 워크로드는 AF_ALG를 정당하게 사용하지 않으므로, 프로덕션 서비스에 영향을 주지 않고 완화 조치로 비활성화하는 것이 안전합니다"

HPCsec (2026년 4월 30일):

"대부분의 HPC 환경에서 이는 아무것도 깨뜨리지 않습니다 – AF_ALG는 실제로 거의 아무도 사용하지 않는 커널 암호화의 사용자 공간 전면 도어입니다"

프로덕션 배포 권장 사항

표준 RHEL/CentOS/Fedora 환경의 경우:

  1. ✅ cfDr 플래그 3을 즉시 배포 - 운영 영향 제로
  2. ✅ 모든 중요 서비스가 계속 작동 - 보안 커뮤니티에서 검증됨
  3. ✅ 애플리케이션 변경 불필요 - 표준 암호화 경로는 영향 없음
  4. ✅ Red Hat 커널 패치 모니터링 - 그러나 완화 조치를 미루지 마세요
  5. ✅ 패치 적용 후에도 심층 방어 유지 - 비용 없는 추가 보안 계층

의사 결정 매트릭스:

환경권장 사항이유
표준 RHEL 서버지금 플래그 3 배포제로 영향, 즉각적인 보호
사용자 지정 암호화가 있는 RHEL먼저 AF_ALG 사용 감사극히 드물지만 확인 필요
개발 시스템지금 플래그 3 배포프로덕션과 동일
고보안 환경플래그 7 또는 15 배포최대 심층 방어

요약

cfDr의 완화 조치는 모든 표준 RHEL 배포에 안전합니다. algif_aead 모듈과 AF_ALG 소켓 인터페이스는 Enterprise Linux 시스템의 중요한 시스템 암호화에 사용되지 않습니다.

이것이 의미하는 바:

  • ✅ 디스크 암호화(LUKS)가 계속 작동합니다
  • ✅ VPN(IPsec)이 계속 작동합니다
  • ✅ SSH 연결이 계속 작동합니다
  • ✅ 웹 서버(HTTPS)가 계속 작동합니다
  • ✅ 데이터베이스가 계속 작동합니다
  • ✅ 모든 인증 시스템이 계속 작동합니다

유일한 이론적 위험은 AF_ALG 소켓을 사용하도록 명시적으로 프로그래밍된 사용자 지정 애플리케이션입니다. 이는 여러 보안 기관이 엔터프라이즈 환경에서 AF_ALG 차단이 안전하다고 독립적으로 확인할 만큼 극히 드문 시나리오입니다.


권장 워크플로우

표준 엔터프라이즈 워크플로우

이 워크플로우는 철저함과 운영 안전성의 균형을 유지합니다:

1단계: 초기 평가(읽기 전용)```bash

Scan all hosts without making changes

ansible-playbook -i inventory quickstart.yml

root@kitploit:~
**발생 상황**:
- 모든 호스트가 평가됩니다
- 변경 사항은 없습니다
- 보고서가 생성됩니다

**검토**:
- 각 호스트에서 `/root/cve-2026-31431-assessment-<hostname>.txt` 확인
- 요약 출력 검토
- 취약한 호스트 식별

**예상 출력**:```
CVE-2026-31431 Summary Report
==========================================
Total hosts scanned: 50
Vulnerable hosts: 12

VULNERABLE HOSTS REQUIRING REMEDIATION:
web1.example.com, web2.example.com, db1.example.com, ...

DEFAULT RECOMMENDED MITIGATION: Flag 3
  - Module Blacklist (1) + SELinux (2) = Defense-in-depth
  - Module Blacklist alone can be bypassed by root (via insmod)
  - SELinux blocks syscall even if blacklist is bypassed
  - Covers user_t/unconfined_t (vast majority of scenarios)

2단계: 취약점 인벤토리 생성```bash

Create inventory of vulnerable hosts with recommendations

ansible-playbook -i inventory quickstart.yml -e generate_inventory=true -e inventory_output_dir=./vulnerable_hosts

root@kitploit:~
**발생하는 작업**:
- 취약한 호스트 식별
- 호스트별 권장 완화 플래그 계산
- 인벤토리 파일 생성

**검토**:```bash
# Check generated inventory
cat vulnerable_hosts/vulnerable_hosts.yml

# Review per-host recommendations
ls vulnerable_hosts/host_vars/

3단계: 비프로덕션 환경에서 수정 사항 테스트```bash

Apply to test/dev hosts first

ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'dev*:test*'

root@kitploit:~
**무슨 일이 일어나는가**:
- 완화 조치는 테스트/개발 호스트에만 적용됨
- 서비스 재시작됨(seccomp용)
- 검증 수행됨

**검증**:```bash
# Re-scan test hosts
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml quickstart.yml --limit 'dev*:test*'

# Check for "PROTECTED - Defense-in-depth" status

테스트 애플리케이션:

  • 핵심 서비스가 작동하는지 확인
  • 애플리케이션 기능 점검
  • 문제 발생 시 로그 모니터링

4단계: 프로덕션 수정(단계적 적용)```bash

Apply to production in stages

Stage 1: Web tier

ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'web*'

Stage 2: Application tier

ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'app*'

Stage 3: Database tier (most critical)

ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml
-e apply_remediation=true
--limit 'db*'

root@kitploit:~
**발생 상황**:
- 각 계층이 개별적으로 조치됨
- 서비스가 한 번에 한 계층씩 재시작됨
- 단계별 검증이 가능함

**단계 사이 모니터링**:
- 서비스 가용성 확인
- 애플리케이션 로그 검토
- 사용자 경험 검증

#### 5단계: 검증 및 문서화```bash
# Final assessment of all hosts
ansible-playbook -i inventory quickstart.yml

문서:

  • 어떤 호스트가 조치되었는지 기록
  • 발생한 문제 사항 메모
  • 변경 관리 기록 업데이트

최종 예상 출력:``` CVE-2026-31431 Summary Report

Total hosts scanned: 50 Vulnerable hosts: 0

All hosts protected with defense-in-depth mitigations

root@kitploit:~
### 긴급 대응 워크플로우

**적극적으로 악용된** 시스템 또는 **즉각적인 위협**의 경우:```bash
# Immediate assessment and remediation
ansible-playbook -i inventory quickstart.yml -e apply_remediation=true -e mitigation_flags=3

# Re-verify all hosts
ansible-playbook -i inventory quickstart.yml

다음과 같은 경우 이 접근 방식을 사용하세요:

  • 활성 익스플로잇이 감지된 경우
  • 중요 시스템이 즉각적인 위험에 처한 경우
  • 프로세스보다 시간이 더 중요한 경우

주의: 이는 모든 취약한 호스트에 동시에 완화 조치를 적용합니다. 면밀히 모니터링하세요.

지속적 모니터링 워크플로우

지속적 규정 준수 및 새 시스템 탐지를 위해:```bash

Weekly automated scan

0 2 * * 0 ansible-playbook -i inventory quickstart.yml -e generate_inventory=true

Alert on new vulnerabilities

(integrate with monitoring system)

root@kitploit:~
**통합 대상**:
- 구성 관리 데이터베이스(CMDB)
- 보안 정보 및 이벤트 관리(SIEM)
- 수정 추적을 위한 티켓팅 시스템

### 사용자 지정 완화 워크플로

Flag 3을 넘어서는 **특정 요구 사항**의 경우:```bash
# Use enhanced protection (Flag 7: Blacklist + SELinux + seccomp)
ansible-playbook -i inventory quickstart.yml \
  -e apply_remediation=true \
  -e mitigation_flags=7

# Or customize per-host via inventory
# Edit generated host_vars/*.yml files to set custom flags
vim vulnerable_hosts/host_vars/web1.example.com.yml
# Change: recommended_mitigation_flags: 7

# Apply customized settings
ansible-playbook -i vulnerable_hosts/vulnerable_hosts.yml cve_2026_31431_playbook.yml \
  -e apply_remediation=true

검증 워크플로우

수정 후 보호 상태를 검증하세요:```bash

On remediated host:

sudo lsmod | grep algif_aead

Should return nothing (module not loaded)

sudo modprobe algif_aead

Should fail: "modprobe: ERROR: could not insert 'algif_aead'"

cat /etc/modprobe.d/blacklist-algif_aead-cve-2026-31431.conf

Should show blacklist configuration

Check SELinux policy

sudo semodule -l | grep cve_2026_31431

Should show: cve_2026_31431_af_alg_deny

Check seccomp (for services)

systemctl show httpd | grep RestrictAddressFamilies

Should show: RestrictAddressFamilies=~AF_ALG

root@kitploit:~
---

## 빠른 시작

즉시 시작하고 싶은 사용자를 위한 안내입니다:

### 가장 간단한 사용법```bash
# Clone repository
git clone https://github.com/parmstro/cfDr.git
cd cfDr

# Step 1: Assess all hosts
ansible-playbook -i inventory quickstart.yml

# Step 2: Apply recommended mitigations to vulnerable hosts
ansible-playbook -i inventory quickstart.yml --limit vulnerable_hosts -e apply_remediation=true

사용자 지정 인벤토리와 함께 사용하기```bash

Assess with your inventory

ansible-playbook -i /path/to/your/inventory quickstart.yml

Remediate vulnerable hosts

ansible-playbook -i /path/to/your/inventory quickstart.yml
--limit vulnerable_hosts
-e apply_remediation=true

root@kitploit:~
### 취약점 인벤토리 생성```bash
# Scan and create inventory of vulnerable hosts
ansible-playbook -i inventory quickstart.yml -e generate_inventory=true

# Review generated files
ls inventory_output/

# Apply mitigations using generated inventory
ansible-playbook -i inventory_output/vulnerable_hosts.yml cve_2026_31431_playbook.yml \
  -e apply_remediation=true

고급 구성

완화 플래그 사용자 지정

플레이북 실행별로 기본 완화 설정을 재정의합니다:```bash

Module blacklist only

ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=1

SELinux only

ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=2

Module blacklist + SELinux (default recommended)

ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=3

Enhanced: Blacklist + SELinux + seccomp

ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=7

Maximum: All mitigations (RHEL 9+ only)

ansible-playbook quickstart.yml -e apply_remediation=true -e mitigation_flags=15

root@kitploit:~
### SELinux 도메인 사용자 지정

`roles/cve_2026_31431/defaults/main.yml`을 편집합니다:```yaml
# Add additional domains to protect
selinux_denied_domains:
  - user_t
  - unconfined_t
  - httpd_t
  - postgresql_t
  - mysqld_t
  - custom_app_t        # Your custom domain
  - another_service_t

seccomp 서비스 사용자 지정

roles/cve_2026_31431/defaults/main.yml을 편집합니다:```yaml

Add additional services to protect

seccomp_protected_services:

  • httpd
  • nginx
  • postgresql
  • mariadb
  • redis
  • memcached
  • your-custom-service # Your service
root@kitploit:~
### 사용자 지정 인벤토리 출력 디렉터리```bash
# Specify custom output location
ansible-playbook quickstart.yml \
  -e generate_inventory=true \
  -e inventory_output_dir=/path/to/output

샘플 플레이북 템플릿 사용하기

sample_playbook.yml에는 여러 예제가 포함되어 있습니다:```yaml

Example 1: Assessment only

  • hosts: all roles:
    • cve_2026_31431

Example 2: Module blacklist only

  • hosts: all vars: apply_remediation: true mitigation_flags: 1 roles:
    • cve_2026_31431

Example 3: Recommended (Blacklist + SELinux)

  • hosts: all vars: apply_remediation: true mitigation_flags: 3 roles:
    • cve_2026_31431
root@kitploit:~
### 요구 사항

- **Ansible**: 2.9 이상 (2.15+ 권장)
- **권한 있는 접근**: 대상 호스트에서 sudo/root
- **Python**: 대상 호스트에서 2.7 또는 3.5+
- **지원 OS**: Red Hat Enterprise Linux, CentOS, Fedora (Debian/Ubuntu는 제한적 지원)

---

## 추가 리소스

### CVE 정보 및 분석

**공식 출처**:
- [NVD - CVE-2026-31431](https://nvd.nist.gov/vuln/detail/CVE-2026-31431)
- [MITRE CVE 항목](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-31431)

**보안 연구 및 분석**:
- [Sysdig - CVE-2026-31431 분석](https://www.sysdig.com/blog/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds)
- [The Hacker News - Copy Fail 취약점](https://thehackernews.com/2026/04/new-linux-copy-fail-vulnerability.html)
- [CERT-EU 보안 권고](https://cert.europa.eu/publications/security-advisories/2026-005/)
- [Help Net Security - Copy Fail 세부 정보](https://www.helpnetsecurity.com/2026/04/30/copyfail-linux-lpe-vulnerability-cve-2026-31431/)

### 관련 완화 프로젝트

CVE-2026-31431 완화에 대한 커뮤니티 기여:

- **[block-copyfail](https://github.com/atgreen/block-copyfail)** - Anthony Green의 eBPF LSM 구현
  - 포괄적인 eBPF 기반 완화
  - 최신 커널을 위한 시스템 전반의 보호
  - cfDr의 eBPF 구현 소스

- **[Blastwall](https://gprocunier.github.io/blastwall/demo.html)** - Greg Procunier의 SELinux 정책 프레임워크
  - 고급 SELinux 정책 관리
  - 다중 CVE 보호 프레임워크
  - cfDr의 SELinux 구현 소스

### Red Hat 특정 리소스

**지식 베이스 문서**:
- [Red Hat 고객 포털 - CVE-2026-31431](https://access.redhat.com/security/cve/cve-2026-31431)
- [Red Hat 보안 데이터 - 영향받는 제품](https://access.redhat.com/security/data/metrics/)

**완화 가이드**:
- [Enterprise Linux용 SELinux - 사용자 가이드](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/using_selinux/)
- [systemd 보안 기능](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/securing-systemd-services_system-management-using-the-rhel-9-web-console)

### 문서

**cfDr 확장 문서**:
- [Enterprise Linux 완화 가이드](https://github.com/parmstro/cfdr/blob/HEAD/enterprise-linux-mitigations.md) - 모든 완화 방법의 포괄적 비교
- [SELinux 완화 가이드](https://github.com/parmstro/cfdr/blob/HEAD/selinux-mitigation.md) - 상세 SELinux 정책 구현
- [seccomp 완화 가이드](https://github.com/parmstro/cfdr/blob/HEAD/seccomp-mitigation.md) - systemd seccomp 필터 구현  
- [eBPF LSM 완화 가이드](https://github.com/parmstro/cfdr/blob/HEAD/ebpf-lsm-mitigation.md) - eBPF LSM 프로그램 구현
- [docs/CONTRIBUTORS.md](https://github.com/parmstro/cfdr/blob/HEAD/CONTRIBUTORS.md) - 기여 지침 및 크레딧

**Ansible 문서**:
- [Ansible 사용자 가이드](https://docs.ansible.com/ansible/latest/user_guide/)
- [Ansible 모범 사례](https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html)

---

## 패치 모니터링

### Red Hat Enterprise Linux

**주요 출처**: Red Hat 고객 포털
- **보안 권고**: https://access.redhat.com/security/security-updates/
- **Errata 권고**: https://access.redhat.com/errata/
- **CVE 추적기**: https://access.redhat.com/security/cve/cve-2026-31431

**알림 방법**:

1. **이메일 알림** (권장):
   - Red Hat 고객 포털에 로그인
   - 이동: 계정 설정 → 알림
   - 활성화: "보안 권고" 및 "제품 Errata"
   - 선택: 관리 중인 RHEL 버전

2. **RSS 피드**:
   - RHEL 7 보안: https://access.redhat.com/blogs/766093/feed
   - RHEL 8 보안: https://access.redhat.com/blogs/1683903/feed
   - RHEL 9 보안: https://access.redhat.com/blogs/5480361/feed
   - 전체 보안: https://access.redhat.com/security/data/oval/com.redhat.rhsa-all.xml

3. **API 접근**:   ```bash
   # Check for kernel security updates
   curl -H "Accept: application/json" \
     "https://access.redhat.com/labs/securitydataapi/cve/CVE-2026-31431.json"
  1. 자동 모니터링: ```bash

    Install Red Hat Security Advisories plugin for yum

    sudo yum install yum-plugin-security

    Check for security updates

    sudo yum updateinfo list security

    Check specifically for kernel updates

    sudo yum updateinfo list security kernel

    root@kitploit:~

찾아야 할 항목:

  • 커널용 RHSA(Red Hat 보안 권고)
  • "CVE-2026-31431"이 포함된 권고 제목
  • 사용자 환경과 일치하는 영향을 받는 RHEL 버전

권고 형식 예시:``` RHSA-2026:XXXX - Important: kernel security update Severity: Important CVEs: CVE-2026-31431 Affected Products: RHEL 7, 8, 9

root@kitploit:~
### CentOS / Rocky Linux / AlmaLinux

**CentOS Stream**:
- **공지사항**: https://lists.centos.org/pipermail/centos-announce/
- **보안 메일링 리스트**: https://lists.centos.org/mailman/listinfo/centos-security-announce

**Rocky Linux**:
- **보안 추적기**: https://errata.rockylinux.org/
- **공지사항**: https://rockylinux.org/news/

**AlmaLinux**:
- **Errata**: https://errata.almalinux.org/
- **보안**: https://wiki.almalinux.org/security/

### Fedora

**주요 소스**: Fedora 프로젝트
- **업데이트 시스템**: https://bodhi.fedoraproject.org/
- **보안 목록**: https://lists.fedoraproject.org/archives/list/[email protected]/

**알림 방법**:```bash
# Subscribe to security announcements
# Visit: https://lists.fedoraproject.org/admin/lists/security-announce.lists.fedoraproject.org/

# Check for updates
sudo dnf check-update kernel

# View available security updates
sudo dnf updateinfo list security

Ubuntu

기본 소스: Ubuntu 보안 공지

  • USN 데이터베이스: https://ubuntu.com/security/notices
  • CVE 추적기: https://ubuntu.com/security/CVE-2026-31431

알림 방법:```bash

Subscribe to security announcements

Visit: https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce

Check for security updates

sudo apt update sudo apt list --upgradable | grep security

Ubuntu Security Notices tool

sudo apt install ubuntu-security-tools usn list --cve CVE-2026-31431

root@kitploit:~
### Debian

**기본 소스**: Debian 보안 추적기
- **보안 추적기**: https://security-tracker.debian.org/tracker/CVE-2026-31431
- **보안 공지**: https://www.debian.org/security/

**알림 방법**:```bash
# Subscribe to Debian Security Announcements
# Visit: https://lists.debian.org/debian-security-announce/

# Check for security updates
sudo apt update
sudo apt list --upgradable

SUSE / openSUSE

기본 소스: SUSE Security

  • 보안 업데이트: https://www.suse.com/support/update/
  • CVE 데이터베이스: https://www.suse.com/security/cve/CVE-2026-31431.html

알림 방법:```bash

Check for security patches

sudo zypper list-patches --category security

Specific CVE check

sudo zypper info --cve CVE-2026-31431

root@kitploit:~
### 업스트림 커널

**리눅스 커널 메일링 리스트**:
- **LKML 아카이브**: https://lkml.org/
- **보안 목록**: https://www.kernel.org/category/releases.html

**Git 저장소**:```bash
# Monitor kernel git for patches
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

# Search for CVE-2026-31431 patches
git log --all --grep="CVE-2026-31431"

자동 패치 모니터링 스크립트

사용자 환경을 위한 모니터링 스크립트를 생성합니다:```bash #!/bin/bash

check-cve-2026-31431-patch.sh

Monitors for CVE-2026-31431 kernel patches

DISTRO=$(grep ^ID= /etc/os-release | cut -d= -f2 | tr -d '"')

case $DISTRO in rhel|centos|rocky|alma) yum updateinfo list security kernel 2>/dev/null | grep -i CVE-2026-31431 ;; fedora) dnf updateinfo list security kernel 2>/dev/null | grep -i CVE-2026-31431 ;; ubuntu|debian) apt-get update -qq apt-cache show linux-image-$(uname -r) | grep CVE-2026-31431 ;; sles|opensuse*) zypper info --cve CVE-2026-31431 kernel-default ;; esac

Check Red Hat Security Data API

curl -s "https://access.redhat.com/labs/securitydataapi/cve/CVE-2026-31431.json" |
jq -r '.affected_release[] | select(.package | startswith("kernel")) | "(.product_name): (.advisory) - (.package)"'

root@kitploit:~
**cron으로 일정 예약하기**:```bash
# Check daily for patches
0 6 * * * /usr/local/bin/check-cve-2026-31431-patch.sh | mail -s "CVE-2026-31431 Patch Check" [email protected]

패치가 릴리스되었을 때 해야 할 일

  1. 패치 사용 가능 여부 확인: ```bash

    Check your distribution's update mechanism

    sudo yum check-update kernel # RHEL/CentOS/Fedora sudo apt update && apt list --upgradable linux-image-* # Ubuntu/Debian

    root@kitploit:~
  2. 릴리스 노트 검토:

    • 설치 지침은 공급업체 권고를 읽으세요
    • 알려진 문제나 사전 요구 사항이 있는지 확인하세요
    • 커널 버전 번호를 검증하세요
  3. 비프로덕션 환경에서 테스트: ```bash

    Apply kernel update to test systems first

    sudo yum update kernel # RHEL/CentOS/Fedora sudo apt upgrade linux-image-* # Ubuntu/Debian sudo reboot

    root@kitploit:~
  4. 패치 효과 검증: ```bash

    After reboot, verify kernel version

    uname -r

    Run cfDr assessment to confirm patch

    ansible-playbook -i inventory quickstart.yml

    root@kitploit:~
  5. 프로덕션 롤아웃 계획:

    • 유지보수 시간대 예약
    • 커널 업데이트 단계적 적용
    • 서비스 재시작/재부팅 계획
  6. 임시 완화 조치 제거 (선택 사항): ```bash

    After patching, temporary mitigations can be removed

    However, defense-in-depth recommends keeping them

    If you choose to remove:

    sudo rm /etc/modprobe.d/blacklist-algif_aead-cve-2026-31431.conf sudo semodule -r cve_2026_31431_af_alg_deny # SELinux policy

    Remove seccomp drop-in files

    Update initramfs/initrd

    root@kitploit:~

권장 사항: 커널 패치 이후에도 향후 취약점으로부터 보호하기 위해 심층 방어 완화 조치를 유지하는 것을 고려하세요.


지원 및 기여

이슈 보고

버그를 발견했거나 기능 요청이 있으신가요?

  1. 기존 이슈 확인: https://github.com/parmstro/cfDr/issues
  2. 새 이슈 생성: 다음을 포함하세요:
    • cfDr 버전
    • Ansible 버전
    • 대상 OS 및 버전
    • 전체 오류 메시지
    • 재현 단계

기여

기여를 환영합니다! docs/CONTRIBUTORS.md에서 다음 내용을 확인하세요:

  • 코드 기여 방법
  • 문서 개선
  • 테스트 및 버그 보고
  • 기능 제안

도움 받기

  • 이슈: https://github.com/parmstro/cfDr/issues
  • 토론: https://github.com/parmstro/cfDr/discussions

기여자

cfDr은 보안 전문가들의 집단적 전문성을 바탕으로 구축되었습니다:

  • Paul Armstrong (@parmstro) - 프로젝트 리더, 모듈 블랙리스트 및 seccomp 구현
  • Anthony Green (@atgreen) - eBPF LSM 완화 구현
  • Greg Procunier (@gprocunier) - SELinux 정책 완화 구현
  • Claude Sonnet 4.5 - 개발 지원, 문서화 및 연구

전체 기여 세부 사항은 docs/CONTRIBUTORS.md를 참조하세요.


라이선스

이 프로젝트는 취약점 평가 및 수정 목적을 위해 MIT 라이선스로 제공됩니다.

자세한 내용은 LICENSE를 참조하세요.


면책 조항

중요: 이 도구는 공급업체가 제공하는 커널 패치를 기다리는 동안 임시 완화 조치를 제공합니다. 이러한 완화 조치는 위험을 크게 줄이지만 모든 시나리오에서 완전한 보호를 보장하지는 않을 수 있습니다.

cfDr은 보증 없이 "있는 그대로" 제공됩니다. 항상 다음을 준수하세요:

  • 비프로덕션 환경에서 먼저 테스트
  • 보호 범위와 한계 이해
  • 공식 패치를 위해 공급업체 채널 모니터링
  • 사용 가능한 경우 공급업체 패치 적용
  • 패치 이후에도 심층 방어 유지

cfDr의 기여자와 관리자는 이 도구 사용으로 인한 손상이나 데이터 손실에 대해 책임을 지지 않습니다.


최종 업데이트: 2026-05-02T23:30:00Z

도구 다운로드