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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-46331-audit — cve-2026-46331-audit script | Kitploit
도구/GitHubGitHub/quaerendir/cve-2026-46331-audit
Privilege EscalationVulnerability AnalysisExploitationForensicsPapers & ResearchLearning & EducationIncident Response
GitHubquaerendir/cve-2026-46331-audit

cve-2026-46331-audit

cve-2026-46331-audit script

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cve-2026-46331-audit

CVE-2026-46331(일명 pedit COW)에 대한 읽기 전용 감사 스크립트입니다. 이는 Linux 커널의 net/sched act_pedit 동작에서 발생하는 부분적 COW(쓰기 시 복사) 버그로, 로컬의 권한이 없는 사용자가 페이지 캐시 메모리를 손상시키고 루트로 권한을 상승시킬 수 있습니다.

root@kitploit:~
   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ V  V /
  |_|   |_____|____/___| |_|      \____\___/  \_/\_/
     CVE-2026-46331    net/sched act_pedit partial COW

TL;DR

tcf_pedit_act()는 tcfp_off_max_hint를 사용하여 키 루프 이전에 skb_ensure_writable()에 대한 COW 범위를 한 번 계산합니다. 타입 키는 힌트가 포함하지 않는 런타임 헤더 오프셋을 추가하므로, 결국 쓰기의 일부가 COW 처리된 영역 밖에서 발생하게 됩니다. 결과적으로 공유된 페이지 캐시 페이지가 손상되고, 캐시된 setuid 바이너리(전형적인 대상: /bin/su)가 메모리에서 오염될 수 있습니다. 디스크 상의 해시는 깨끗하게 유지됩니다. 파일 무결성 모니터는 이를 감지하지 못합니다.

Dirty COW(CVE-2016-5195), Dirty Pipe(CVE-2022-0847), Copy Fail(CVE-2026-31431), Dirty Frag(CVE-2026-46300)와 동일한 버그 패밀리입니다. 진입 지점은 다르지만 페이지 소유권 실패는 동일합니다.

이 스크립트가 하는 일

완전한 읽기 전용 진단입니다. 모듈을 로드하지 않으며, sysctl을 건드리지 않고, PoC를 실행하지 않습니다. 프로덕션에서 실행해도 안전하도록 설계되었습니다.

  • 실행 중인 커널, 배포판, 커널 패키지 버전을 조사합니다.
  • 네 가지 독립적인 신호를 통해 act_pedit 접근 가능성을 조사합니다:
    • 현재 로드됨 (lsmod)
    • 필요 시 로드 가능 (modinfo)
    • 실행 중인 커널에 내장됨 (/boot/config-$(uname -r), /proc/config.gz, modules.builtin)
    • modprobe.d의 blacklist 또는 install ... /bin/true 오버라이드로 차단됨
  • 기존 tc action pedit 규칙을 나열합니다 (정보 제공, 변경 없음).
  • userns 게이트를 읽습니다: user.max_user_namespaces, kernel.unprivileged_userns_clone, Ubuntu AppArmor userns 제한.
  • /etc/os-release를 기준으로 한 공급업체 패치 매트릭스 휴리스틱 (RHEL 8/9/10, Debian 11/12/13/14, Ubuntu 18.04→26.04, SUSE, Amazon Linux, Arch 계열 롤링).

사용법

root@kitploit:~
sudo ./cve-2026-46331-audit.sh                       # 전체 텍스트 보고서
sudo ./cve-2026-46331-audit.sh --json                # 기계 판독 가능 JSON, 배너 없음
sudo ./cve-2026-46331-audit.sh --quiet --no-hunt     # 대량 스캔용 한 줄 판정
sudo ./cve-2026-46331-audit.sh --since 2026-06-01    # IoC 헌트 기간 확장
sudo ./cve-2026-46331-audit.sh --no-banner           # ASCII 배너 없는 텍스트 보고서

종료 코드

샘플 출력

전체 실행 결과는 examples/sample-output.txt를, JSON 형식은 examples/sample-output.json을 참조하십시오.

위험 점수 산정 모델

점수는 다음 요소의 가중치 조합입니다:

최대 100으로 제한됩니다. 약 70 이상은 다중 테넌트/CI/Kubernetes 노드에서 긴급으로 처리해야 합니다. 20 미만은 일반적으로 호스트가 괜찮다는 확인입니다.

대량 배포

Ansible

root@kitploit:~
ansible -i inventory all -m script \
  -a "cve-2026-46331-audit.sh --json --quiet --no-hunt" \
  --become \
  | tee /tmp/audit.jsonl

그런 다음 jq로 집계:

root@kitploit:~
grep -v '^[a-z]' /tmp/audit.jsonl | jq -s 'group_by(.verdict) | map({verdict: .[0].verdict, hosts: length})'

플레이북에서 failed_when 사용

root@kitploit:~
- name: audit CVE-2026-46331
  ansible.builtin.script: cve-2026-46331-audit.sh --quiet --no-hunt
  register: audit
  failed_when: audit.rc == 2
  changed_when: false

완화 조치 (패치를 지연해야 할 경우)

선호도 순서입니다. 스크립트는 발견된 내용에 따라 적절한 조치를 권장합니다.

root@kitploit:~
# 옵션 1: act_pedit를 사용하지 않는다면 차단합니다.
tc actions list action pedit                  # 이 작업을 수행하기 전에 반드시 비어 있어야 함
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf
lsmod | grep -q act_pedit && sudo rmmod act_pedit
root@kitploit:~
# 옵션 2: 권한 없는 사용자 네임스페이스를 제한합니다.
# 루트리스 Podman/Docker, 브라우저 샌드박스, Flatpak, 권한 없는 unshare, 일부 CI 샌드박스가 손상됩니다.
sudo sysctl -w user.max_user_namespaces=0           # EL 계열
sudo sysctl -w kernel.unprivileged_userns_clone=0   # Debian/Ubuntu

실제 수정은 공급업체 커널 업데이트 후 재부팅입니다. 재부팅 후 uname -r만이 이를 증명합니다.

버그 패밀리 맥락

이것은 동일한 아키텍처 결함의 다섯 번째 반복입니다. 각각은 직접적인 원인을 수정했지만, 근본 원인은 수정하지 못했습니다: 소유권 경계를 넘어 페이지를 공유하는 제로 카피 빠른 경로에서, 모든 작성자가 바이트를 변경하기 전에 프라이버시를 증명해야 하는 수백 개의 호출 사이트에서 발생하는 문제입니다.

Rust-in-kernel은 소유권 유형을 통해 이러한 클래스를 정확히 해결합니다. 내일 net/sched에는 나타나지 않을 것입니다.

참고 자료

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-46331
  • Red Hat: https://access.redhat.com/security/vulnerabilities/RHSB-2026-008
  • Ubuntu: https://ubuntu.com/security/CVE-2026-46331
  • Debian: https://security-tracker.debian.org/tracker/CVE-2026-46331
  • 업스트림 커밋 및 설명: NVD 레코드 참조를 참조하십시오.

라이선스

MIT. LICENSE를 참조하십시오.

면책 조항

소유하거나 감사가 명시적으로 허가된 시스템에 대한 공인된 방어 용도로 사용하십시오. 이 스크립트는 공개 PoC를 실행하지 않으며, 시스템 상태를 변경하지 않고, 모듈을 로드하지 않습니다. 판정은 진단(triage)으로 간주해야 하며, 침해 증명 또는 안전 증명으로 간주하지 마십시오.

도구 다운로드
CVECVE-2026-46331
구성 요소Linux 커널 net/sched / act_pedit
클래스부분적 COW → 페이지 캐시 손상 → LPE
공격 벡터로컬 (CAP_NET_ADMIN, 일반적으로 권한 없는 userns를 통해 획득)
업스트림 영향 범위5.18 .. 7.1-rc6
업스트림 수정7.1-rc7
공개 PoCpacket_edit_meme (RHEL 10, Debian 13, Ubuntu 24.04.4에서 확인됨)
Red Hat 심각도중요
SUSE CVSS 3.17.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
  • 선택적 행동 IoC 헌트: auditd 및 journalctl 사용 (--since로 구성 가능한 기간).
  • 위험 점수 0-100 및 최종 판정: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN.
  • 플릿 오케스트레이션용 종료 코드.
  • 코드의미
    0PATCHED 또는 NOT_APPLICABLE (커널이 버그 이전 버전)
    1MITIGATED (완화 조치 활성화, 커널은 여전히 취약, 패치 권장)
    2VULNERABLE (하나 이상의 필수 조건 충족, 수정된 커널 없음)
    3UNKNOWN (공유/CI/Kubernetes 환경에서는 의심스러운 것으로 간주)
    4ERROR (스크립트 실행 불가; 도구 누락 또는 환경 문제)
    신호가중치
    공급업체 판정 VULNERABLE+50
    공급업체 판정 UNKNOWN+30
    act_pedit가 커널에 내장됨+25
    act_pedit 로드 가능, 오버라이드 없음+20
    act_pedit 로드 가능, 오버라이드 활성화+5
    act_pedit 현재 로드됨+5
    권한 없는 userns 접근 가능, AppArmor 게이트 없음+15
    권한 없는 userns 접근 가능, AppArmor 게이트 활성화+8
    헌트 기간 내 IoC 발견+10
    CVE연도서브시스템프리미티브
    CVE-2016-51952016mm읽기 전용 매핑에 대한 COW 경쟁
    CVE-2022-08472022pipe / splicepipe_buffer 플래그 누출이 페이지 캐시로
    CVE-2026-314312026crypto AF_ALG/AEAD읽기 전용 파일 캐시에 대한 제자리 암호화
    CVE-2026-463002026XFRM ESP-in-TCPskbuff 공유 프래그먼트 마커 손실
    CVE-2026-463312026net/sched act_pedit지연 해결된 타입 키 오프셋으로 인한 부분적 COW