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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-3494_Verfication — CVE-2026-3494를 재현하고 분석하며, MariaDB server_audit 플러그인의 감사 로깅 우회(audit logging bypass)를 Docker 기반 다중 버전 테스트를 통해 취약한 버전과 패치된 버전 간의 로깅 동작을 비교합니다. | Kitploit
도구/GitHubGitHub/kelnor/cve-2026-3494_verfication
Vulnerability AnalysisExploitationPapers & ResearchLearning & EducationDatabase Security
GitHubkelnor/cve-2026-3494_verfication

CVE-2026-3494_Verfication

CVE-2026-3494를 재현하고 분석하며, MariaDB server_audit 플러그인의 감사 로깅 우회(audit logging bypass)를 Docker 기반 다중 버전 테스트를 통해 취약한 버전과 패치된 버전 간의 로깅 동작을 비교합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-3494 - MariaDB server_audit 로깅 검증 PoC

이 프로젝트는 MariaDB server_audit 플러그인에서 SQL 쿼리 내 특정 인라인 주석(#, --)이 사용될 때 발생할 수 있는 감사 로깅 우회를 검증하고 분석하기 위한 특수 환경을 제공합니다.


주요 발견 사항

  • v11.8.6의 로깅 누락: MariaDB v11.8.6에서 특정 쿼리(예: 주석이 포함된 SET PASSWORD 또는 Error 1046 케이스)가 감사 로그에 기록되지 않는 현상이 관찰되었습니다. 해당 버전은 이전에 패치된 버전으로 간주되었습니다.
  • 잠재적 파서 불일치: 최근 버전에서 감사 플러그인의 파서 동작에 잠재적 변경이 확인되었습니다. 멀티라인 주석(#)으로 인해 DCL 문이 감사기에 의해 부적절하게 처리되거나 무시될 수 있습니다.
  • 버전 회귀 식별: v11.8.5 이하에서 정상적으로 기록되던 로그가 v11.8.6에서 누락되는 동작이 감지되어, 감사 로깅 로직에 잠재적 회귀가 있을 가능성을 시사합니다.

1. 개요

  • CVE 참조: CVE-2026-3494
  • 영향을 받는 버전: MariaDB 11.8.5 이하(10.x 브랜치 포함)
  • 취약점 세부 사항: server_audit가 QUERY_DCL, QUERY_DDL, QUERY_DML과 같은 필터로 활성화된 경우, 인라인 주석이 포함된 특정 쿼리가 로깅 메커니즘을 우회할 수 있습니다.
  • 목적: 동일한 쿼리 조건에서 여러 MariaDB 버전(취약한 버전 vs 패치된 버전) 간의 감사 로깅 동작을 비교합니다.

  • 2. 실제 결과 (검증)

    다음 매트릭스는 테스트 중 관찰된 로깅 동작을 요약합니다:

    root@kitploit:~
    [MariaDB 10.3.39 / 11.8.5]
    - CASE #1, #2A, #2B, #3, #4 → 모두 LOGGED (정상 동작)
    
    [MariaDB 11.8.6 (대상 버전)]
    - CASE #2B (Error 1046) → NOT LOGGED (로깅 누락) ❗
    - CASE #3 (주석 처리된 SET PASSWORD) → NOT LOGGED (로깅 누락) ❗
    - CASE #1, #2A, #4 → LOGGED (정상 동작)
    

    3. 테스트 환경

    이 프로젝트는 Docker Compose를 활용하여 세 개의 격리된 MariaDB 인스턴스를 실행합니다:

    버전포트상태설명
    MariaDB 10.3.393306취약레거시 안정 버전 검증
    MariaDB 11.8.53307취약최신 취약 버전 검증
    MariaDB 11.8.63308대상최근 감사 로깅 변경 사항 평가

    4. 설정 및 실행

    1) 인프라 설정 (Docker)

    MariaDB 컨테이너를 빌드하고 시작합니다. 환경은 server_audit 플러그인을 자동으로 구성하고 테스트 사용자를 초기화합니다.

    root@kitploit:~
    # 컨테이너 빌드 및 시작
    docker compose up --build -d
    
    # 컨테이너 상태 확인
    docker ps
    

    2) 준비 (호스트)

    필요한 Python 종속성을 설치합니다:

    root@kitploit:~
    pip install pymysql
    

    3) PoC 실행

    스크립트는 프로젝트 내 어떤 디렉토리에서든 실행할 수 있습니다.

    root@kitploit:~
    python poc/poc.py
    

    5. 테스트 케이스 세부 사항

    PoC는 5가지 시나리오를 수행합니다:

    1. TEST_CASE_1 (정상): 주석이 없는 표준 쿼리 (대조군).
    2. TEST_CASE_2_A (Error 1146): "Table doesn't exist" 오류가 발생하는 쿼리.
    3. TEST_CASE_2_B (Error 1046): "No database selected" 오류가 발생하는 쿼리 (Jira 재현 케이스).
    4. TEST_CASE_3 (주석 처리된 SET PASSWORD): # 주석이 포함된 SET PASSWORD 명령 (우회 확인).
    5. TEST_CASE_4 (주석 처리된 SELECT): # 주석이 포함된 SELECT 문 (우회 확인).

    6. 결과 해석

    • LOGGED: 쿼리가 감사 로그에 성공적으로 기록됨.
    • NOT LOGGED: 쿼리가 로그에서 누락됨 (잠재적 우회 또는 회귀).
    • >> Actual Log: 기록된 문의 무결성을 검증하기 위해 server_audit.log의 원본 항목을 파란색으로 표시.

    7. 검증 로그 (실제 증거)

    다음은 예상 동작(11.8.5)과 로깅 누락(11.8.6)의 차이를 보여주는 실제 실행 로그입니다.

    MariaDB 11.8.5 (예상 로깅 동작)
    root@kitploit:~
    [+] TEST_CASE_2_B_ERROR_1046
        Result: LOGGED
        >> Actual Log: | 20260504 04:45:05,...,QUERY,mysql,'SELECT * FROM user',1046
    
    [+] TEST_CASE_3_COMMENT_SET_PASSWORD
        Result: LOGGED
        >> Actual Log: | 20260504 04:45:07,...,QUERY,mysql,'SET PASSWORD # CVE-2026-3494 Test ...',1133
    
    MariaDB 11.8.6 (로깅 누락 관찰)
    root@kitploit:~
    [+] TEST_CASE_2_B_ERROR_1046 (No database selected)
        Result: NOT LOGGED  <-- 누락 감지
    
    [+] TEST_CASE_3_COMMENT_SET_PASSWORD (Inline Comment #)
        Result: NOT LOGGED  <-- 누락 감지
    

    [!TIP] 모든 테스트 케이스와 버전의 전체 터미널 출력은 전체 실행 로그를 참조하세요.


    8. 프로젝트 구조

    root@kitploit:~
    .
    ├── config/              # MariaDB server_audit 구성
    ├── init/                # 초기화 스크립트 (사용자 및 플러그인 설정)
    ├── logs/                # 감사 로그 볼륨 마운트
    ├── poc/
    │   └── poc.py           # 자동화된 검증 스크립트
    ├── results/
    │   └── full_execution_log.md  # 상세 터미널 출력 로그
    ├── docker-compose.yml   # 다중 버전 환경 정의
    └── README.md            # 프로젝트 문서 (현재 파일)
    

    9. 면책 조항

    이 프로젝트는 교육 및 보안 연구 목적으로만 제공됩니다. 책임감 있게 사용하고, 철저한 테스트 없이 프로덕션 환경에 이러한 구성을 적용하지 마십시오.

    도구 다운로드