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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-4040-Race-Condition-in-File-Upload-Leading-to-RCE — CVE-2026-4040 재현: TOCTOU 레이스 컨디션이 있는 Flask 업로드 서버와 임의 원격 코드 실행을 시연하는 익스플로잇 스크립트. | Kitploit
도구/GitHubGitHub/george0papasotiriou/cve-2026-4040-race-condition-in-file-upload-leading-to-rce
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubgeorge0papasotiriou/cve-2026-4040-race-condition-in-file-upload-leading-to-rce

CVE-2026-4040-Race-Condition-in-File-Upload-Leading-to-RCE

CVE-2026-4040 재현: TOCTOU 레이스 컨디션이 있는 Flask 업로드 서버와 임의 원격 코드 실행을 시연하는 익스플로잇 스크립트.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
18일 전아직 검토되지 않음

CVE-2026-4040 – 파일 업로드의 경쟁 조건으로 인한 RCE

프로그램 코드 (Python Flask)

root@kitploit:~
# upload_server.py - File upload with race condition
from flask import Flask, request
import os, tempfile, time, threading

app = Flask(__name__)
UPLOAD_DIR = '/tmp/uploads'
os.makedirs(UPLOAD_DIR, exist_ok=True)

@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    # Save to a temporary file
    fd, tmp_path = tempfile.mkstemp(dir=UPLOAD_DIR)
    file.save(tmp_path)
    # Simulate validation (check extension)
    if not file.filename.endswith('.txt'):
        os.unlink(tmp_path)
        return "Invalid extension", 400
    # Race window: between save and move, attacker can execute the script
    # In a real server, we'd move to safe name, but we simulate time delay
    time.sleep(0.5)   # vulnerability
    final_path = os.path.join(UPLOAD_DIR, file.filename)
    os.rename(tmp_path, final_path)
    return "Uploaded", 200

if __name__ == '__main__':
    app.run(port=5000)

CVE-2026-4040 – 파일 업로드 경쟁 조건으로 인한 RCE

Severity: Critical

개요

업로드 엔드포인트는 업로드된 파일을 임시 경로에 저장하고, 확장자를 검증한 후, 일정 시간이 지난 뒤 안전한 이름으로 이동시킵니다. 공격자는 이름 변경 전에 임시 파일에 접근하여 실행하기 위해 경쟁할 수 있으며, 이를 통해 원격 코드 실행을 달성할 수 있습니다.

취약점 세부 정보

  • 유형: TOCTOU 경쟁 조건
  • 영향: 서버에서 임의 코드 실행.
  • 근본 원인: 파일이 예측 가능한 임시 위치에 저장되며 검증 창(validation window) 동안 실행 가능한 상태로 남아 있습니다.

익스플로잇 데모

  1. 취약한 서버를 시작합니다:
    root@kitploit:~
    pip install flask
    python upload_server.py
    
  2. 익스플로잇을 실행합니다:
    root@kitploit:~
    python exploit_race_upload.py
    
도구 다운로드