Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-4040-Race-Condition-in-File-Upload-Leading-to-RCE — Воспроизводит CVE-2026-4040: Flask-сервер загрузки файлов с состоянием гонки TOCTOU и скрипт эксплойта, демонстрирующий произвольное удалённое выполнение кода. | Kitploit
Инструменты/GitHubGitHub/george0papasotiriou/cve-2026-4040-race-condition-in-file-upload-leading-to-rce
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
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: Flask-сервер загрузки файлов с состоянием гонки TOCTOU и скрипт эксплойта, демонстрирующий произвольное удалённое выполнение кода.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
17 дней назадЕщё не проверено

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 Race Condition
  • Воздействие: Произвольное выполнение кода на сервере.
  • Корневая причина: Файл сохраняется в предсказуемое временное расположение и остаётся исполняемым в течение окна проверки.

Демонстрация эксплуатации

  1. Запустите уязвимый сервер:
    root@kitploit:~
    pip install flask
    python upload_server.py
    
  2. Запустите эксплойт:
    root@kitploit:~
    python exploit_race_upload.py
    
Скачать инструмент