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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-27626-PoC — OliveTin은 사전 정의된 셸 명령을 최종 사용자에게 노출하기 위한 자체 호스팅 웹 UI입니다. 이 저장소는 OliveTin의 셸 모드 실행 경로에서 두 개의 독립적인 OS 명령 주입 벡터를 입증하는 개념 증명을 포함하며, 두 벡터 모두 애플리케이션의 의도된 셸 인자 안전 검사를 우회합니다. | Kitploit
도구/GitHubGitHub/0xh7ml/cve-2026-27626-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlRed TeamingPayload Development
GitHub0xh7ml/cve-2026-27626-poc

CVE-2026-27626-PoC

OliveTin은 사전 정의된 셸 명령을 최종 사용자에게 노출하기 위한 자체 호스팅 웹 UI입니다. 이 저장소는 OliveTin의 셸 모드 실행 경로에서 두 개의 독립적인 OS 명령 주입 벡터를 입증하는 개념 증명을 포함하며, 두 벡터 모두 애플리케이션의 의도된 셸 인자 안전 검사를 우회합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-27626 — OliveTin OS 명령 주입 (PoC)

요약

CVE IDCVE-2026-27626
구성 요소OliveTin
취약점 분류CWE-78: OS 명령에 사용되는 특수 요소의 부적절한 중성화
CVSS 3.19.9–10.0 (Critical) — AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
영향 받는 버전모든 버전 ≤ 3000.10.0 (커밋 기준 0.0.0-20260222101908-4bbd2eab1532 이전)
수정된 버전0.0.0-20260222101908-4bbd2eab1532 이후
권고GHSA-49gm-hh7w-wfvf
공개일2026-02-22 (권고), 2026-02-25 (NVD)

OliveTin은 사전 정의된 셸 명령을 최종 사용자에게 노출하는 자체 호스팅 웹 UI입니다. 이 저장소는 OliveTin의 셸 모드 실행 경로에서 두 가지 독립적인 OS 명령 주입 벡터를 보여주는 개념 증명(PoC)을 포함하고 있으며, 두 벡터 모두 애플리케이션의 의도된 셸 인수 안전성 검사를 우회합니다.

배경

OliveTin은 관리자가 Actions (매개변수화된 인수를 가진 셸 명령)을 정의하여 인증된 (또는 구성에 따라 익명) 사용자가 웹 UI 또는 웹훅을 통해 트리거할 수 있도록 합니다. 사용자가 인수 값을 통해 의도된 명령을 벗어나는 것을 방지하기 위해 OliveTin은 모든 사용자 제공 인수를 checkShellArgumentSafety()를 통해 실행한 후 명령 문자열로 템플릿화하여 sh -c에 전달합니다.

이것이 취약점이 깨는 보안 경계입니다. OliveTin은 '관리자가 명령을 정의'하는 것과 '사용자가 값을 제공'하는 것을 명시적으로 구분합니다. 안전성 검사는 사용자가 인수 값을 임의의 명령을 실행하는 방법으로 전환할 수 없도록 특별히 존재합니다.

근본 원인

벡터 1 — password 인수 유형이 검사되지 않음

checkShellArgumentSafety()는 고정된 승인 목록의 인수 유형만 검사합니다.

root@kitploit:~
func checkShellArgumentSafety(argType string, value string) bool {
    dangerousTypes := []string{"string", "int", "bool", "choice"}
    for _, dt := range dangerousTypes {
        if argType == dt {
            return sanitizeInput(value)
        }
    }
    // BUG: "password" type not checked
    return true // Assumes safe
}

password는 민감한 사용자 입력을 수락하기 위한 문서화된 의도된 인수 유형이지만 dangerousTypes에 포함되지 않아 무결 처리되어 return true로 빠집니다. Shell 모드 Action에서 password 유형 인수를 채울 수 있는 모든 사용자는 셸 메타 문자(;, |, `, $() 등)를 주입하여 OliveTin 프로세스 사용자로 임의의 명령을 실행할 수 있습니다.

여기서 악용 가능성은 OliveTin의 기본 설정으로 인해 더욱 증폭됩니다: 자체 등록이 활성화되어 있고 기본적으로 authType: none이므로, 실제 많은 배포에서 '인증된 사용자'는 실제 장벽이 전혀 필요하지 않습니다.

벡터 2 — 웹훅 JSON 추출이 유형 검사를 완전히 건너뜀

벡터 1과 별개로, OliveTin의 웹훅 핸들러는 수신 웹훅의 JSON 본문에서 임의의 키/값 쌍을 추출하여 ExecutionRequest.Arguments에 직접 주입합니다 (service/internal/executor/handler.go:153-157).

이러한 웹훅에서 파생된 키는 액션의 구성에 정의된 해당 ActionArgument가 없기 때문에 parseActionArguments() (arguments.go)는 검사할 인수 유형을 찾지 못하고 checkShellArgumentSafety()를 완전히 건너뜁니다 — password뿐만 아니라 모든 유형에 대해. 원시 값은 셸 명령에 템플릿화되어 유효성 검사 없이 sh -c에 전달됩니다.

외부/신뢰할 수 없는 소스에서 수신 웹훅을 받는 것은 OliveTin의 주요 지원 사용 사례 중 하나이므로, 이 벡터는 인증이 전혀 필요하지 않습니다.

결합된 영향

Shell 모드에서 웹훅으로 트리거되는 Action이 있는 OliveTin 인스턴스는 OliveTin 프로세스의 권한으로 인증되지 않은 원격 코드 실행에 취약하며, OliveTin이 배포된 방식(베어 메탈 대 컨테이너, 부여된 권한 등)에 따라 잠재적으로 전체 호스트가 손상될 수 있습니다.

영향을 받는 구성

다음과 같은 경우 OliveTin 인스턴스가 취약할 가능성이 높습니다:

  • Shell 모드로 Actions를 실행하고, 그리고
  • 신뢰할 수 없거나 낮은 권한의 사용자에게 노출된 password 유형 인수가 있는 Action이 하나 이상 있는 경우(벡터 1), 또는
  • 웹훅을 통해 트리거 가능한 Action이 있는 경우, 특히 신뢰 경계 외부에서 접근 가능한 경우(벡터 2)

사용법

root@kitploit:~
python3 CVE-2026-27626.py -u <TARGET> [OPTIONS]

인수


영향

  • OliveTin 서비스 계정으로 임의의 OS 명령 실행
  • OliveTin을 실행하는 호스트 또는 컨테이너의 완전한 손상
  • OliveTin이 도달할 수 있는 모든 환경으로의 측면 이동 (일반적으로 다른 서비스를 관리하기 위해 상승된 접근 권한으로 실행됨)
  • 벡터 2는 웹훅을 수락하는 모든 인터넷 연결 인스턴스에 대해 인증 정보 없이 이를 가능하게 함

해결 방법

  1. 업그레이드 OliveTin을 업데이트 채널에서 사용 가능한 즉시 0.0.0-20260222101908-4bbd2eab1532 이상으로 업그레이드하십시오.
  2. 패치될 때까지:
    • Shell 모드가 필요하지 않은 경우 비활성화하십시오.
    • Shell 모드에서 웹훅으로 트리거되는 Actions 사용을 피하십시오.
    • 신뢰할 수 없는 사용자가 접근 가능한 Action에서 password 유형 인수를 제거하거나 사용하지 마십시오.
    • 자체 등록을 비활성화하고 실제 인증을 시행하십시오 (authType을 none 외의 값으로 설정).
    • OliveTin의 웹훅 엔드포인트에 대한 네트워크 접근을 신뢰할 수 있는 소스로만 제한하십시오 (방화벽/리버스 프록시 허용 목록).
    • OliveTin을 최소한의 권한 세트와 제한적인 seccomp 프로파일을 가진 컨테이너에서 실행하여 악용되더라도 피해 범위를 제한하십시오.
    • OliveTin 서비스에 의해 생성된 예상치 못한 자식 프로세스에 대해 OliveTin 프로세스 로그/호스트 감사 로그를 모니터링하십시오.

타임라인

날짜이벤트
2026-02-20CVE 예약됨
2026-02-22GitHub 보안 권고 게시됨
2026-02-25NVD 공개
2026-02-27권고 업데이트됨

참조

  • GitHub 보안 권고: GHSA-49gm-hh7w-wfvf
  • NVD: CVE-2026-27626
  • OliveTin 프로젝트: github.com/OliveTin/OliveTin

책임 있는 사용

이 PoC는 방어 연구, 탐지 엔지니어링 및 공인된 침투 테스트 목적으로만 게시됩니다. 소유하지 않았거나 테스트에 대한 명시적인 서면 승인이 없는 시스템에 대해 실행하지 마십시오. 이 코드를 타사 시스템에 대해 오용하는 것은 컴퓨터 범죄 법률 (예: 미국의 CFAA, 영국의 Computer Misuse Act 및 기타 국가의 해당 법률)을 위반할 수 있으며, 실행하는 사람의 단독 책임입니다.

저자

Md Saikat (0xh7ml)

도구 다운로드
옵션설명기본값
-u, --url대상 호스트/IP필수
-p, --portOliveTin 포트1337
-x, --cmd실행할 명령id