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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-26399-Disclosure — Arduino_Core_STM32의 스택 기반 use-after-return 취약점 공개로, 기술적 근본 원인, 영향을 받는 버전, 수정 사항 및 보안 영향 분석을 상세히 다룹니다. | Kitploit
도구/GitHubGitHub/acen28/cve-2026-26399-disclosure
Embedded Systems SecurityVulnerability AnalysisFuzzingHardware & IoT Security
GitHubacen28/cve-2026-26399-disclosure

CVE-2026-26399-Disclosure

Arduino_Core_STM32의 스택 기반 use-after-return 취약점 공개로, 기술적 근본 원인, 영향을 받는 버전, 수정 사항 및 보안 영향 분석을 상세히 다룹니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-26399: Arduino_Core_STM32(레거시 버전)의 스택 기반 Use-After-Return 취약점

요약

Arduino_Core_STM32의 레거시 버전(버전 1.7.0 이전)에는 스택 기반 use-after-return 취약점이 존재합니다.

이 문제는 pwm_start() 구현에 있으며, TIM_HandleTypeDef 객체가 스택에 할당되고 해당 주소가 HAL 초기화 로직으로 전달됩니다. 이 포인터는 이후 전역 타이머 핸들 레지스트리에 보관되어 원래 스택 프레임이 이미 반환된 후 인터럽트 서비스 루틴에 의해 비동기적으로 역참조될 수 있습니다.

이 취약점은 MITRE에 의해 CVE-2026-26399로 지정되었습니다.

영향을 받는 제품

  • 제품: Arduino_Core_STM32
  • 공급업체 / 프로젝트: stm32duino / STMicroelectronics 생태계
  • 영향을 받는 버전: v0.1.0 ~ v1.6.1
  • 수정된 버전: v1.7.0

취약점 유형

  • CWE-562: Use After Return
  • 스택 기반 댕글링 포인터 / use-after-return

기술적 세부 사항

pwm_start()의 레거시 구현에서는 TIM_HandleTypeDef 구조체가 로컬 스택 변수로 생성됩니다:

root@kitploit:~
void pwm_start(...) {
    TIM_HandleTypeDef timHandle = {};
    HAL_TIM_PWM_Init(&timHandle);
    ...
}

이 로컬 객체의 주소는 HAL 지원 로직으로 전달되며 전역 타이머 관리 상태(예: 전역 타이머 핸들 레지스트리)에 저장될 수 있습니다.

pwm_start()가 반환된 후에는 스택 객체가 더 이상 유효하지 않습니다. 그러나 이후의 비동기 타이머 인터럽트 핸들러가 여전히 오래된 포인터를 역참조하여 메모리 손상 및 정의되지 않은 동작을 유발할 수 있습니다.

영향

가능한 보안 영향은 다음과 같습니다:

  • 서비스 거부(예: 충돌 또는 HardFault)
  • 유리한 메모리 레이아웃 및 제어 조건에서의 잠재적 코드 실행

라이브러리 수준의 문제이므로 실제 악용 가능성은 취약한 라이브러리가 펌웨어에 어떻게 통합되는지, 그리고 공격자가 제어하는 입력이 스택 재사용 및 인터럽트 타이밍에 어떻게 영향을 미칠 수 있는지에 따라 달라집니다.

영향을 받는 구성 요소

  • cores/arduino/stm32/analog.c
  • pwm_start()
  • TIM_HandleTypeDef
  • 전역 타이머 핸들 추적 로직(예: timer_handles)

수정 사항

이 문제는 버전 1.7.0에서 기존의 스택 기반 처리 경로를 다른 타이머 관리 설계로 대체하는 리팩토링 과정에서 간접적으로 해결된 것으로 보입니다. 레거시 취약점에 대한 전용 보안 권고는 발행되지 않은 것으로 보입니다.

발견 경위

이 문제는 Arduino_Core_STM32 기반의 레거시 STM32 펌웨어에 대한 퍼징 및 근본 원인 분석을 포함한 펌웨어 보안 연구 중에 식별되었습니다.

공급업체 연락

공급업체 PSIRT에 연락했습니다. 응답에 따르면 이 문제가 버전 1.7.0에서 이미 수정되었기 때문에 현재 버전은 영향을 받지 않지만, 당시 공급업체가 전용 CVE를 요청하지 않은 것으로 보입니다.

공로

Jin Chang이 발견했습니다.

참고 자료

  • 프로젝트 저장소: https://github.com/stm32duino/Arduino_Core_STM32
  • CVE ID: CVE-2026-26399
도구 다운로드