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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/aj2108/cve-2026-9811
Vulnerability AnalysisWeb Application ExploitationWeb SecurityLearning & Education
GitHubaj2108/cve-2026-9811

CVE-2026-9811

CVE-2026-9811 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting Mautic 7 (versions 7.0.0 through 7.1.1).

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

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

सभी देखें →

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

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

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

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

CVE-2026-9811

CVE-2026-9811 एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (Stored XSS) भेद्यता है जो Mautic 7 (संस्करण 7.0.0 से 7.1.1) को प्रभावित करती है। यह भेद्यता प्रोजेक्ट सिलेक्टर घटक में मौजूद है, जहाँ AJAX अनुरोध के माध्यम से लौटाए गए प्रोजेक्ट नाम उचित आउटपुट एन्कोडिंग या सैनिटाइज़ेशन के बिना पृष्ठ में डाले जाते हैं। प्रोजेक्ट बनाने की अनुमति वाला एक प्रमाणित उपयोगकर्ता प्रोजेक्ट नाम में एक दुर्भावनापूर्ण JavaScript पेलोड संग्रहीत कर सकता है। जब कोई अन्य व्यवस्थापक बाद में प्रोजेक्ट सिलेक्टर वाला एक एंटिटी एडिटर खोलता है, तो दुर्भावनापूर्ण स्क्रिप्ट उनके ब्राउज़र में निष्पादित होती है।

प्रभावित सॉफ़्टवेयर

गुण मान उत्पाद Mautic प्रभावित संस्करण 7.0.0 – 7.1.1 स्थिर संस्करण 7.1.2 घटक प्रोजेक्ट सिलेक्टर भेद्यता प्रकार संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS)

भेद्यता प्रकार

श्रेणी: संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (Stored XSS) CWE-79: वेब पृष्ठ निर्माण के दौरान इनपुट का अनुचित तटस्थीकरण ('क्रॉस-साइट स्क्रिप्टिंग')

मूल कारण

एप्लिकेशन प्रमाणित उपयोगकर्ताओं द्वारा प्रदान किए गए प्रोजेक्ट नामों को संग्रहीत करता है और बाद में उन्हें AJAX एंडपॉइंट के माध्यम से पुनर्प्राप्त करता है। प्रोजेक्ट सिलेक्टर को रेंडर करते समय, एप्लिकेशन इन मानों को बिना एस्केपिंग या सैनिटाइज़ेशन के सीधे DOM में HTML विकल्प तत्वों के रूप में डालता है।

संकल्पनात्मक रूप से:

root@kitploit:~
User creates project
        │
        ▼
Project name stored in database
        │
        ▼
AJAX returns project name
        │
        ▼
Inserted into DOM without sanitization
        │
        ▼
Browser executes embedded JavaScript

क्योंकि एप्लिकेशन संग्रहीत डेटा पर भरोसा करता है, दुर्भावनापूर्ण JavaScript तब निष्पादित होता है जब कोई अन्य विशेषाधिकार प्राप्त उपयोगकर्ता भेद्य पृष्ठ लोड करता है।

हमले का प्रवाह

root@kitploit:~
Attacker
    │
    ▼
Creates a project with a malicious JavaScript payload as its name
    │
    ▼
Payload is stored in the database
    │
    ▼
Administrator opens an entity editor
    │
    ▼
AJAX request retrieves project names
    │
    ▼
Application inserts project name into the DOM without encoding
    │
    ▼
Browser executes the malicious script
    │
    ▼
Attacker gains actions within the administrator's session

हमले का परिदृश्य

प्रोजेक्ट बनाने की अनुमति वाला एक हमलावर एक ऐसा प्रोजेक्ट बनाता है जिसके नाम में एक दुर्भावनापूर्ण JavaScript पेलोड होता है।

बाद में, एक व्यवस्थापक किसी अन्य एंटिटी को संपादित करता है जिसमें प्रोजेक्ट सिलेक्टर शामिल है। सिलेक्टर AJAX के माध्यम से प्रोजेक्ट नाम लोड करता है और उन्हें सीधे पृष्ठ में डालता है। चूँकि प्रोजेक्ट नाम सैनिटाइज़ नहीं किया गया है, ब्राउज़र एम्बेडेड स्क्रिप्ट को व्यवस्थापक के विशेषाधिकारों के साथ निष्पादित करता है।

उदाहरण

चरण 1: सामान्य प्रोजेक्ट निर्माण

कल्पना करें कि Mautic में इस प्रकार का एक फ़ॉर्म है:

root@kitploit:~
POST /projects/create HTTP/1.1
Content-Type: application/x-www-form-urlencoded

projectName=Marketing Campaign
description=Email Campaign

प्रोजेक्ट इस प्रकार सहेजा गया है:

Marketing Campaign
चरण 2: हमलावर एक प्रोजेक्ट बनाता है

सामान्य नाम के बजाय, हमलावर एक हानिरहित JavaScript इवेंट वाला HTML दर्ज करता है:

root@kitploit:~
POST /projects/create HTTP/1.1
Content-Type: application/x-www-form-urlencoded

projectName=<img src="https://raw.githubusercontent.com/aj2108/cve-2026-9811/HEAD/x" onerror="console.log('XSS Demo')">
description=Test

डेटाबेस अब ठीक वही स्ट्रिंग संग्रहीत करता है।

चरण 3: AJAX संग्रहीत मान लौटाता है

बाद में, एक व्यवस्थापक एक ऐसा पृष्ठ खोलता है जो प्रोजेक्ट लोड करता है।

AJAX प्रतिक्रिया:

root@kitploit:~
{
    "id": 7,
    "projectName": ""
}

चरण 4: भेद्य JavaScript

मान लीजिए कि एप्लिकेशन यह करता है:

root@kitploit:~
const project = response.projectName;

document.getElementById("projects").innerHTML +=
    `<option>${project}</option>`;

ब्राउज़र यह देखता है:

root@kitploit:~
<option>
    <img src="https://raw.githubusercontent.com/aj2108/cve-2026-9811/HEAD/x" onerror="console.log('XSS Demo')">
</option>

चूँकि एप्लिकेशन ने स्ट्रिंग को टेक्स्ट के बजाय HTML के रूप में डाला, ब्राउज़र इसे एक वास्तविक तत्व के रूप में पार्स करता है। छवि लोड होने में विफल रहती है (src="x"), जिससे onerror हैंडलर निष्पादित हो जाता है।

प्रभाव

सफल शोषण एक हमलावर को निम्नलिखित की अनुमति दे सकता है:

  • किसी अन्य उपयोगकर्ता के ब्राउज़र में मनमाना JavaScript निष्पादित करना।
  • व्यवस्थापक के सत्र का अपहरण करना।
  • व्यवस्थापक की ओर से कार्य करना।
  • संवेदनशील डैशबोर्ड जानकारी तक पहुँचना।
  • पीड़ित के विशेषाधिकारों का उपयोग करके एप्लिकेशन डेटा को संशोधित करना।
यह भेद्यता मुख्य रूप से गोपनीयता और अखंडता को प्रभावित करती है।

गंभीरता

मीट्रिकस्कोर
CVSS v3.1 (CNA)5.4 (मध्यम)

NVD ने अभी तक इस CVE के लिए अपना स्वयं का CVSS मूल्यांकन प्रकाशित नहीं किया है।

संकल्पनात्मक भेद्य कोड

नोट: विक्रेता ने सटीक भेद्य स्रोत कोड प्रकाशित नहीं किया है। निम्नलिखित उदाहरण केवल भेद्यता पैटर्न को दर्शाता है।

root@kitploit:~
// Data returned from AJAX
const project = response.projectName;

// Unsafe: inserted directly into the DOM
document.getElementById("projectSelector").innerHTML +=
    `<option>${project}</option>`;

यह भेद्य क्यों है

प्रोजेक्ट नाम उपयोगकर्ता इनपुट से उत्पन्न होता है लेकिन HTML एन्कोडिंग के बिना पृष्ठ में डाला जाता है। यदि संग्रहीत मान में HTML या JavaScript है, तो ब्राउज़र इसे सादे टेक्स्ट के बजाय निष्पादन योग्य सामग्री के रूप में व्याख्या करता है।

सही कोड (संकल्पनात्मक)

root@kitploit:~
const option = document.createElement("option");

// Safe: assign as text, not HTML
option.textContent = response.projectName;

document.getElementById("projectSelector").appendChild(option);

या, यदि HTML आउटपुट अपरिहार्य है, तो डालने से पहले उचित आउटपुट एन्कोडिंग सुनिश्चित करें।

यह फिक्स क्यों काम करता है

textContent (या एक समतुल्य सुरक्षित API) का उपयोग यह सुनिश्चित करता है कि किसी भी विशेष वर्ण को निष्पादन योग्य HTML या JavaScript के बजाय सादे टेक्स्ट के रूप में माना जाए। भले ही एक दुर्भावनापूर्ण प्रोजेक्ट नाम डेटाबेस में संग्रहीत हो, इसे निष्पादित किए जाने के बजाय शाब्दिक रूप से प्रदर्शित किया जाएगा।

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