Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-74469 — CVE-2026-74469(DiagSpill) 연구 저장소로, Linux 커널 SCTP 피어 전송 카운터 오버플로로 인한 범위 초과 쓰기 취약점을 다루며 PoC, 근본 원인 분석, 패치 세부 정보를 포함합니다. | Kitploit
도구/GitHubGitHub/0xblackash/cve-2026-74469
Privilege EscalationMemory ForensicsVulnerability AnalysisExploitationPapers & ResearchLearning & EducationBinary ExploitationLabs & Practice
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

CVE-2026-74469(DiagSpill) 연구 저장소로, Linux 커널 SCTP 피어 전송 카운터 오버플로로 인한 범위 초과 쓰기 취약점을 다루며 PoC, 근본 원인 분석, 패치 세부 정보를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

⚡ CVE-2026-74469 — DiagSpill

Gemini_Generated_Image_yv49p8yv49p8yv49

Linux 커널 SCTP 피어 전송 개수 오버플로

16비트 피어 전송 카운터 오버플로로 인해 발생하는 Linux 커널 SCTP 취약점으로, 카운터가 65535에서 0으로 래핑될 수 있습니다. SCTP 진단 덤프 중에 래핑된 값으로 인해 skb 페이로드 예약이 불충분해지고, 이어서 피어 주소 데이터의 범위를 벗어난 쓰기가 발생할 수 있습니다.


⚠️ 면책 조항

이 저장소는 승인된 보안 연구, 커널 취약점 분석, CTF 환경, 커널 디버깅 및 방어적 테스트 용도로만 사용하도록 의도되었습니다.

명시적인 승인 없이 시스템에 대해 개념 증명 코드를 사용하지 마십시오.


📌 취약점 개요

필드세부 정보
CVECVE-2026-74469
코드명DiagSpill
구성 요소Linux 커널
하위 시스템SCTP / sock_diag
영향받는 파일net/sctp/associola.c
주요 함수sctp_assoc_add_peer()
버그 분류정수 오버플로 / 범위를 벗어난 쓰기
영향커널 메모리 손상
잠재적 영향로컬 권한 상승
CVSS v3.17.0 — 높음
공격 벡터로컬
공격 복잡도높음
필요 권한낮음
사용자 상호작용없음
상태패치됨

Linux 커널 CVE 권고는 이 문제를 SCTP의 16비트 transport_count 오버플로로 설명하며, 이어서 크기가 부족한 INET_DIAG_PEERS 할당과 진단 덤프 중 범위를 벗어난 쓰기가 발생합니다.


🧬 취약점 설명

취약한 코드는 고유한 피어 전송의 개수를 16비트 카운터로 유지합니다:

transport_count

새로 추가된 고유 피어마다 카운터가 증가합니다.

핵심 경계는 다음과 같습니다:

65535

다른 고유한 전송 수단을 추가하면 다음과 같은 결과가 발생합니다:

65535 + 1
     ↓
     0

결과적으로 생성된 래핑은 다음과 같은 불일치를 초래합니다:

transport_count

및:

transport_addr_list

The diagnostic subsystem later trusts the wrapped counter when calculating the size of the response buffer, while still iterating through the complete list of peer addresses.


🔬 근본 원인

취약점은 다음과 같이 나타낼 수 있습니다:

                    SCTP Association
                           │
                           ▼
                 Add unique peers
                           │
                           ▼
                 transport_count
                    uint16_t
                           │
                           ▼
                    65,535 peers
                           │
                           ▼
                 + 1 unique peer
                           │
                           ▼
                    Integer wrap
                           │
                           ▼
                transport_count = 0
                           │
                           ▼
                  SCTP sock_diag
                           │
                           ▼
             Reserve incorrect payload
                           │
                           ▼
          Iterate complete peer list
                           │
                           ▼
             Out-of-bounds skb write

업스트림 권고문은 65,536번째 전송이 카운터를 0으로 감싼다고 명시적으로 밝히고 있습니다.


🧠 버그가 발생하는 이유

진단 코드는 사실상 동일한 상태에 대한 두 가지 서로 다른 관점에 의존합니다.

할당 측면

transport_count
       │
       ▼
payload size

복사 측

transport_addr_list
       │
       ▼
copy every peer address

정수가 래핑된 후:

transport_count = 0

transport_addr_list =
    [peer 1]
    [peer 2]
    [peer 3]
    ...
    [peer 65536]

할당자는 따라서 다음을 기준으로 공간을 예약한다:

0 peers

복사 작업이 여전히 처리할 수 있는 동안:

65536 peer addresses

이 불일치가 메모리 안전성 위반을 발생시킨다.


💥 메모리 손상

Linux Kernel 권고문은 그 결과로 생성되는 진단 덤프를, 빈 페이로드를 예약한 뒤 skb tail을 넘어 약 8 MiB의 피어 주소를 기록하는 것으로 설명한다.

개념적으로:

Expected skb:

┌───────────────────────────────┐
│ INET_DIAG header              │
├───────────────────────────────┤
│ Peer addresses                │
└───────────────────────────────┘
              ▲
              │
          valid end


Actual vulnerable state:

┌───────────────────────────────┐
│ INET_DIAG header              │
└───────────────────────────────┘
              ▲
              │
          skb tail

              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      OUT-OF-BOUNDS WRITE

Red Hat은 이 결함을 CWE-787: 범위를 벗어난 쓰기(Out-of-bounds Write) 로 분류합니다.


🔎 취약한 코드 경로

관련 경로는 다음과 같이 요약할 수 있습니다:

SCTP association
      │
      ▼
sctp_assoc_add_peer()
      │
      ▼
transport_count++
      │
      ▼
16-bit overflow
      │
      ▼
SCTP sock_diag
      │
      ▼
INET_DIAG_PEERS
      │
      ▼
skb payload reservation
      │
      ▼
transport_addr_list iteration
      │
      ▼
Out-of-bounds write

영향을 받는 소스 파일은 다음과 같습니다:

net/sctp/associola.c

Linux 커널 CVE 공지에서 이 파일을 명시적으로 지목하고 있습니다.


🩹 업스트림 수정

업스트림 수정은 다음과 같습니다:

bd0e9289e2642f6a5c54faad304ce0f41e926d22

커밋:

sctp: prevent peer transport count overflow

수정 사항은 다음과 같은 경우 새로운 고유 피어를 거부합니다:

transport_count >= U16_MAX

중요한 점은, 이 검사가 기존 피어 조회 이후에 수행된다는 것입니다.

이는 연관이 한도에 도달한 경우에도 이미 존재하는 전송을 검색하는 기능을 보존합니다.


🛡️ 패치 로직

취약함

New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

패치됨

New peer
   │
   ▼
Existing peer?
   │
 ┌─┴──────────┐
 │            │
YES           NO
 │            │
 ▼            ▼
Reuse       Check U16_MAX
transport       │
                ▼
          Reject at limit

카운터가 절대 래핑되지 않도록 방지하면서 기존 피어에 대한 정상적인 조회 의미 체계를 보존하는 것이 중요한 보안 속성입니다.


📊 취약 버전 vs 패치 버전

보안 속성취약 버전패치 버전
16비트 전송 제한 적용❌✅
카운터 래핑 방지❌✅
기존 피어 사용 가능 유지✅✅
진단 페이로드 크기 신뢰성❌✅
OOB skb 쓰기 방지❌✅
커널 메모리 손상 완화❌✅

💥 보안 영향

메모리 손상은 잠재적으로 다음을 초래할 수 있습니다:

  • 커널 크래시
  • 서비스 거부
  • 커널 메모리 손상
  • 범위를 벗어난 커널 쓰기
  • 잠재적 권한 상승
  • 잠재적 커널 코드 실행

공개 후 발표된 공개 연구에 따르면 특정 조건에서 로컬 루트 익스플로잇이 보고되었으며, 원래 Linux Kernel CNA 점수는 AV:L/AC:H/PR:L/UI:N을 사용합니다.

이 취약점은 또한 매우 특정한 SCTP/주소 구성 상황에서 잠재적으로 원격으로 도달 가능한 것으로 설명되지만, 이는 일반적으로 원격 익스플로잇 가능한 취약점과 동등하게 취급되어서는 안 됩니다.


🧪 연구 환경

권장 격리 토폴로지:

도구 다운로드