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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-40271 — CVE-2025-40271에 대한 기술 분석, Linux 커널의 /proc 파일 시스템에서 발견된 치명적인 Use-After-Free 취약점으로, 근본 원인, 재현 단계 및 패치 세부 정보를 포함합니다. | Kitploit
도구/GitHubGitHub/kaleth4/cve-2025-40271
Vulnerability AnalysisExploitationPapers & ResearchLearning & EducationBinary Exploitation
GitHubkaleth4/cve-2025-40271

CVE-2025-40271

CVE-2025-40271에 대한 기술 분석, Linux 커널의 /proc 파일 시스템에서 발견된 치명적인 Use-After-Free 취약점으로, 근본 원인, 재현 단계 및 패치 세부 정보를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🔴 CVE-2025-40271: 리눅스 커널의 치명적인 Use-After-Free 취약점


🛡️ 취약점 세부 사항

CVE-2025-40271은 리눅스 커널의 /proc 파일 시스템에 영향을 미치는 치명적인 Use-After-Free (UAF) 취약점입니다. 이 결함은 /proc 내의 디렉토리 내용을 나열하는 역할을 하는 proc_readdir_de() 함수에 있습니다.

🔍 문제점

**디렉토리 엔트리 (PDE)**가 **rb_erase()**를 통해 이진 트리(rbtree)에서 제거될 때, 커널은 노드를 비어 있음으로 표시하지 않았습니다. 이로 인해 위험한 시나리오가 발생합니다:

  • 한 프로세스가 디렉토리를 읽는 동안 (예: /proc/pid/net/dev_snmp6/) 다른 프로세스가 네트워크 인터페이스를 제거하면(tun 장치 등), 포인터가 이미 해제된 메모리를 가리키게 될 수 있습니다.
  • 트리의 다음 노드에 접근하려고 할 때, 커널은 잘못된 메모리를 사용하게 되어 다음을 초래합니다:
    • 커널 패닉 (시스템 충돌).
    • 가능한 악성 코드 실행 (공격자가 경쟁 조건을 악용하는 경우).

📊 상태 및 메트릭


🛠️ 해결책 (패치)

커널 개발 팀은 노드 처리를 **RB_CLEAR_NODE()**로 대체하는 중요한 패치를 구현했습니다. 이는 다음을 보장합니다:

  • 트리에서 노드를 삭제할 때, 모든 읽기 시도가 해제된 메모리에 대한 포인터 대신 NULL을 반환합니다.
  • 노드를 올바르게 무효화하여 UAF를 방지합니다.

📌 패치된 커널 버전

패치는 이미 다음 안정 브랜치에서 사용할 수 있습니다:

  • 6.1.x
  • 6.6.x
  • 6.12.x
  • 6.13.x

🔗 공식 참조 (Git Kernel.org)

패치의 정확한 코드를 확인하려면 다음 커밋을 참조하십시오:

  • Commit 03de7ff
  • Commit 6f24827

📜 기술 설명 (NIST)

"리눅스 커널에서 다음 취약점이 해결되었습니다: fs/proc: fix uaf in proc_readdir_de(). PDE는 rb_erase()를 통해 하위 디렉토리 rbtree에서 제거되지만, 노드가 EMPTY로 설정되지 않아 UAF 접근이 발생할 수 있습니다. RB_CLEAR_NODE()를 사용하여 지워진 노드를 EMPTY로 설정해야 하며, 그러면 pde_subdir_next()가 NULL을 반환하여 UAF 접근을 방지합니다."

🔄 문제 재현 단계

  1. 프로세스 1: getdent를 사용하여 /proc/pid/net/dev_snmp6/를 탐색 (현재 포인터는 tun3).
  2. 프로세스 2: 중요한 시간 창에서 네트워크 장치(tun3 및 tun2)를 등록 해제하여 트리에서 제거합니다.
    • 먼저 tun3가 제거되고, 그 다음 tun2가 제거됩니다(slab에 해제됨).
  3. 프로세스 1: getdent로 탐색을 계속하지만, pde_subdir_next()가 (이미 해제된) tun2를 반환하여 UAF를 발생시킵니다.

📊 메트릭 및 취약점 열거

CWE-ID이름출처
CWE-416Use After FreeNVD

🔗 유용한 링크

URL설명
NVD - CVE-2025-40271공식 세부 정보 (아직 CVSS 점수 없음)
Kernel.org Commits패치의 소스 코드

⚠️ 최종 권장 사항: 커널 버전 6.1.x, 6.6.x, 6.12.x 또는 6.13.x를 사용하는 경우, 패치된 버전으로 즉시 업데이트하십시오. 불가능하다면, 커밋을 수동으로 적용하거나 보안 정책(예: chroot, SELinux)을 통해 /proc 접근을 제한하는 것을 고려하십시오.

도구 다운로드
필드세부 사항
IDCVE-2025-40271
구성 요소리눅스 커널 (fs/proc)
심각도높음 (아직 NVD/NIST에 의해 공식적으로 평가되지 않음)
발견 경로stress-ng로 발견됨 (getdent 및 tun 동시 사례)
NVD 상태우선순위 지정되지 않음 (리소스 제한으로 인한 보강 미진행)