Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-14378-DevKit-Pro-Auth-Bypass — CVE-2026-14378 (WordPress DevKit Pro Plugin <= 2.3.0) के लिए रक्षात्मक विश्लेषण, पैच विश्लेषण, और डिटेक्शन स्कैनर। | Kitploit
उपकरण/GitHubGitHub/anoxhunterdump-ctrl/cve-2026-14378-devkit-pro-auth-bypass
रक्षात्मक उपकरणभेद्यता स्कैनरभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
GitHub
anoxhunterdump-ctrl/cve-2026-14378-devkit-pro-auth-bypass

CVE-2026-14378-DevKit-Pro-Auth-Bypass

CVE-2026-14378 (WordPress DevKit Pro Plugin <= 2.3.0) के लिए रक्षात्मक विश्लेषण, पैच विश्लेषण, और डिटेक्शन स्कैनर।

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

CVE-2026-14378 — WordPress DevKit Pro प्लगइन में अनधिकृत प्रमाणीकरण बायपास

Severity: Critical Vulnerability: CWE-287 Affected: <= 2.3.0 Patched: 2.3.1 License: MIT


विषय-सूची

  1. कार्यकारी सारांश
  2. भेद्यता विश्लेषण
  3. मूल कारण और तकनीकी विश्लेषण
  4. पूर्ण आक्रमण वॉकथ्रू (चरण-दर-चरण)
    • चरण 0: पर्यावरण सेटअप
    • चरण 1: पुष्टि करें कि प्लगइन इंस्टॉल और भेद्य है
    • चरण 2: Nonce लीक को ट्रिगर करें
    • चरण 3: Revert-Switch अनुरोध सबमिट करें
    • चरण 4: व्यवस्थापक पहुँच सत्यापित करें
  5. स्कैनर के साथ पहचान
    • भेद्य स्थिति आउटपुट
    • पैच की गई स्थिति आउटपुट
  6. खतरा मॉडलिंग — इसका दुरुपयोग कैसे किया जा सकता है
  7. पैच डिफ विश्लेषण
  8. समझौता के संकेतक (IoCs)
  9. उपचार
  10. स्कैनर उपयोग
  11. अस्वीकरण

कार्यकारी सारांश

CVE-2026-14378 WordPress के लिए DevKit Pro प्लगइन में एक गंभीर अनधिकृत प्रमाणीकरण बायपास (CVSS 9.8) है, जो 2.3.0 तक और उस सहित सभी संस्करणों को प्रभावित करता है।

इस प्लगइन में एक डेवलपर उपयोगकर्ता-स्विचिंग तंत्र शामिल है। जब कोई व्यवस्थापक किसी अन्य उपयोगकर्ता खाते में "स्विच" करता है, तो यह व्यवस्थापक की ID को original_user_id नामक कुकी में संग्रहीत करता है। दोष यह है: प्लगइन उस कुकी के मौजूद रहने पर किसी भी पृष्ठ पर एक "switch back" HTML फ़ॉर्म प्रस्तुत करता है — जिसमें उन अनधिकृत आगंतुकों के लिए भी शामिल है जो कुकी को मैन्युअल रूप से सेट करते हैं। इससे भी बुरा, nonce सत्यापन चरण कुकी उपयोगकर्ता की व्यवस्थापक क्षमता की जाँच करता है, न कि कॉलर के सत्र की — इसलिए सर्वर खुशी-खुशी किसी भी ऐसे व्यक्ति को प्रमाणित व्यवस्थापक सत्र कुकी सौंप देता है जो सही POST भेजता है।

शुद्ध परिणाम: पूर्ण WordPress व्यवस्थापक अधिग्रहण के लिए शून्य क्रेडेंशियल आवश्यक।


भेद्यता विश्लेषण

विशेषताविवरण
CVE IDCVE-2026-14378
भेद्यता वर्गअनुचित प्रमाणीकरण (CWE-287)
CVSS v3.1 स्कोर9.8 (गंभीर)
CVSS वेक्टरCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
प्रभावित सॉफ़्टवेयरDevKit Pro (dplugins) WordPress प्लगइन
भेद्य संस्करण<= 2.3.0
पैच किया गया संस्करण2.3.1
प्रकटीकरण तिथि02 अक्टूबर 2026

मूल कारण और तकनीकी विश्लेषण

1. उपयोगकर्ता-स्विचिंग सुविधा कैसे काम करती है (सामान्य प्रवाह)

DevKit Pro में एक डेवलपर सहायक शामिल है जो साइट व्यवस्थापकों को अनुमतियों का परीक्षण करने के लिए अन्य उपयोगकर्ता खातों में "स्विच" करने देता है। जब व्यवस्थापक स्विच का उपयोग करता है:

  1. प्लगइन व्यवस्थापक की ID को एक कुकी में संग्रहीत करता है: Set-Cookie: original_user_id=1
  2. बाद के पृष्ठ लोड पर, प्लगइन isset($_COOKIE['original_user_id']) की जाँच करता है
  3. यदि कुकी मौजूद है, तो यह wp_footer() में एक "Switch Back" टूलबार प्रस्तुत करता है जिसमें एक ताज़ा nonce वाला छिपा हुआ POST फ़ॉर्म होता है
  4. जब व्यवस्थापक "Switch Back" पर क्लिक करता है, तो फ़ॉर्म admin-post.php?action=revert_switch पर POST करता है
  5. प्लगइन nonce को सत्यापित करता है और फिर मूल सत्र को पुनर्स्थापित करने के लिए wp_set_auth_cookie($user_id) को कॉल करता है

2. भेद्य कोड पथ

wp_footer हुक हैंडलर:

// DevKit Pro <= 2.3.0 — render_switch_back_bar()
public function render_switch_back_bar() {
    // FLAW: Only checks if cookie exists — no session validation!
    if ( isset( $_COOKIE['original_user_id'] ) ) {
        $user_id = (int) $_COOKIE['original_user_id'];
        $nonce   = wp_create_nonce( 'devkit_revert_switch_' . $user_id );
        echo '<div id="devkit-pro-switch-back" class="devkit-switch-bar" style="display:none;">';
        echo '  <form id="devkit-revert-form" action="' . admin_url('admin-post.php') . '" method="POST">';
        echo '    <input type="hidden" name="action" value="revert_switch" />';
        echo '    <input type="hidden" name="_wpnonce" value="' . $nonce . '" />';
        echo '    <input type="hidden" name="target_user_id" value="' . $user_id . '" />';
        echo '  </form>';
        echo '</div>';
        echo '<!-- DevKit Pro 2.3.0 Switch Component Active -->';
    }
}

फॉर्म सबमिशन को प्रोसेस करने वाला POST हैंडलर:

// DevKit Pro <= 2.3.0 — handle_revert_switch()
public function handle_revert_switch() {
    $user_id = (int) $_POST['target_user_id'];
    $nonce   = sanitize_text_field( $_POST['_wpnonce'] );

    if ( ! $this->verify_nonce_and_capability( $user_id, $nonce ) ) {
        wp_die( 'Unauthorized' );
    }

    wp_set_current_user( $user_id );
    wp_set_auth_cookie( $user_id );        // <-- Grants authenticated session to caller
    wp_redirect( admin_url() );
    exit;
}

private function verify_nonce_and_capability( $user_id, $nonce ) {
    if ( ! wp_verify_nonce( $nonce, 'devkit_revert_switch_' . $user_id ) ) {
        return false;
    }
    // CRITICAL FLAW: Checks the cookie user's capability, not the caller's!
    return user_can( $user_id, 'manage_options' );
}

3. जाँच क्यों विफल होती है

user_can( $user_id, 'manage_options' ) इस प्रश्न का उत्तर देता है: "क्या उपयोगकर्ता #1 के पास manage_options क्षमता है?"
उपयोगकर्ता #1 (पहला बनाया गया WordPress एडमिन) के लिए उत्तर हमेशा true होता है।

इसे यह पूछना चाहिए: "क्या यह HTTP अनुरोध करने वाले व्यक्ति के पास manage_options क्षमता है?"
सही जाँच current_user_can('manage_options') है जो एक अनधिकृत आगंतुक के लिए false लौटाएगी।


पूर्ण आक्रमण वॉकथ्रू (चरण-दर-चरण)

यह पूरा वॉकथ्रू एक लाइव WordPress इंस्टेंस के विरुद्ध निष्पादित और सत्यापित किया गया था जो एक स्थानीय Podman कंटेनर (http://localhost:8080) में चल रहा था और DevKit Pro 2.3.0 सक्रिय था।

चरण 0: पर्यावरण सेटअप

इसे स्थानीय रूप से पुनरुत्पादित करने के लिए, आपको चाहिए:

  • Docker या Podman
  • WordPress (कोई भी हाल का संस्करण)
  • DevKit Pro प्लगइन संस्करण <= 2.3.0 इंस्टॉल और सक्रिय

त्वरित Podman लैब सेटअप:

# Start MariaDB
podman run -d --name wp-db \
  -e MYSQL_ROOT_PASSWORD=rootpass \
  -e MYSQL_DATABASE=wordpress \
  -e MYSQL_USER=wpuser \
  -e MYSQL_PASSWORD=wppass \
  mariadb:10.6

# Start WordPress
podman run -d --name wp-app \
  -p 8080:80 \
  --link wp-db:mysql \
  -e WORDPRESS_DB_HOST=mysql \
  -e WORDPRESS_DB_NAME=wordpress \
  -e WORDPRESS_DB_USER=wpuser \
  -e WORDPRESS_DB_PASSWORD=wppass \
  wordpress:latest

WordPress इनिशियलाइज़ होने के बाद (http://localhost:8080/wp-admin/install.php), plugins मेनू के माध्यम से DevKit Pro 2.3.0 इंस्टॉल और एक्टिवेट करें।


चरण 1: पुष्टि करें कि Plugin इंस्टॉल और Vulnerable है

कोई भी attack payload भेजने से पहले, plugin की उपस्थिति की पुष्टि करें और plugin readme fetch करके उसका version निर्धारित करें:

Request:

GET /wp-content/plugins/devkit-pro/readme.txt HTTP/1.1
Host: localhost:8080

प्रतिक्रिया (HTTP 200):

=== DevKit Pro ===
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 2.3.0
License: GPLv2 or later
टूल डाउनलोड करें