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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
element-ics-javascript — Element Web v1.12.29 - उच्च - रिमोट - XSS - Univention ICS navigation.json लिंक एक javascript: मेनू href बन जाता है | Kitploit
उपकरण/GitHubGitHub/abraxas/element-ics-javascript
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubabraxas/element-ics-javascript

element-ics-javascript

Element Web v1.12.29 - उच्च - रिमोट - XSS - Univention ICS navigation.json लिंक एक javascript: मेनू href बन जाता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - element-ics-javascript

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-ics-javascript

लेख: https://abraxaslabs.tech/research/element-ics-javascript

element-ics-javascript

Element Web v1.12.29 - Element / New Vector

वर्ग: XSS पहुँच: रिमोट

Univention बैनर मॉड्यूल ICS navigation.json को फ़ेच करता है, प्रत्येक प्रविष्टि के link को बिना किसी स्कीम जाँच के z.string() के रूप में स्वीकार करता है, और Menu.tsx उस स्ट्रिंग को एक स्टाइल किए गए <a href> पर रखता है। स्टैटिक मेनू कॉन्फ़िग link_url के लिए z.url() का उपयोग करता है। ICS पथ ऐसा नहीं करता। उसी पिन पर URL प्रीव्यू पहले से ही javascript: को अस्वीकार करता है (previewFromBundle, GHSA-9r5h)। यह डिफ़ॉल्ट app.element.io नहीं है। इसके लिए modules/banner की आवश्यकता है जिसमें menu.type univention हो, साथ ही एक ऐसा ICS जिस पर डिप्लॉय भरोसा करता हो।

जो भी उस navigation.json को बदल सकता है, वह javascript: या data: रोपित कर सकता है। कोई साइन-इन किया हुआ उपयोगकर्ता जो बैनर मेनू खोलकर उस आइटम पर क्लिक करता है, Element ओरिजिन पर स्क्रिप्ट चला देता है।

IDअभी तक कोई CVE नहीं
CWECWE-79 / CWE-20
CVSSमध्यम: 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N
उत्पादElement Web
प्रभावितv1.12.29 टैग v1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e)। गेटेड: Univention बैनर + ICS।
प्रमाणीकरणICS ऑपरेटर / ICS समझौता। पीड़ित एक साइन-इन किया हुआ उपयोगकर्ता है जो मेनू आइटम पर क्लिक करता है।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

हमलावर क्या कर सकता है

उस ICS से समझौता करें या उसे संचालित करें जिस पर Element डिप्लॉय भरोसा करता है। navigation.json में एक javascript: (या data:) URL डालें। किसी साइन-इन किए हुए उपयोगकर्ता के बैनर मेनू खोलने और उस आइटम पर क्लिक करने की प्रतीक्षा करें। यह Matrix खाता अधिग्रहण है: एक्सेस टोकन, क्रिप्टो स्टोर, सत्र। यह OS RCE नहीं है। डेस्कटॉप पर अभी भी nodeIntegration बंद है और एक सैंडबॉक्स है।

विशेषाधिकारविधि / सिंकरेकॉन / अखंडता / उपलब्धतालैब-प्रमाणित या अनुमानित
Element ओरिजिन पर बैनर-मेनू <a href="javascript:…"> रेंडर करेंICS navigation.json entries[].link -> navigationToConfig link_url -> Menu.tsx LinkButton href={link.link_url}मेनू DOM की अखंडतालैब-प्रमाणित। मॉक ICS लिंक javascript:ELEMENT-ICS-JAVASCRIPT-WITNESS वही href बन गया। https पोर्टल लिंक अभी भी रेंडर हुआ
क्लिक के बाद Element ओरिजिन के रूप में स्क्रिप्ट चलाएँपीड़ित मेनू आइटम पर क्लिक करता है (UI:R)अखंडताhref सिंक से अनुमानित। लैब ने ब्राउज़र क्लिक नहीं चलाया या लाइव Matrix टोकन नहीं चुराया
Matrix एक्सेस टोकन / क्रिप्टो स्टोर पढ़ें (खाता अधिग्रहण)इन-ओरिजिन स्क्रिप्ट बनाम localStorage / IndexedDB सत्ररेकॉन / अखंडताElement ओरिजिन XSS से अनुमानित। लैब साक्ष्य href स्ट्रिंग है
Element टैब को फ़िशिंग पेज पर टॉप-नेविगेट करेंSilentLogin.tsx अनसैंडबॉक्स्ड iframe src={new URL("silent", icsUrl)}अखंडतालैब-प्रमाणित कि iframe में कोई sandbox नहीं है। टॉप-नेविगेशन का परीक्षण नहीं किया गया
data: के माध्यम से वही रोपणz.string() किसी भी स्कीम को स्वीकार करता हैअखंडताअनुमानित। लैब ने केवल javascript: रोपित किया

इस पिन पर बंद: default app.element.io (कोई Univention बैनर नहीं)। OS RCE / LPE (Desktop nodeIntegration: false, sandbox, contextIsolation)। Timeline HTML XSS। URL-preview javascript: (GHSA-9r5h previewFromBundle के लिए http:/https: आवश्यक है)। HTML export XSS (GHSA-wqmv)। Widget media token (GHSA-3jm3)। Static banner link_url: z.url() ऑपरेटर कॉन्फ़िग है, ICS नहीं; z.url() भी http/https allowlist नहीं है।

उसी पिन के बचे हुए अंश: fragment guest wipe, vector: Windows drive-letter।

मैंने इसे कैसे खोजा

22 सितम्बर 2026 की GitHub रिलीज़ के बाद मैंने Element Web v1.12.29 को पिन किया। URL preview ने http:/https: को कड़ी मेहनत से सीख लिया था। Univention ICS link अभी भी z.string() है। Static menu config z.url() का उपयोग करता है। fetch पथ कभी उस जाँच से नहीं गुज़रता।

पहले से दर्ज गलत रास्ते: default app.element.io को शिकार मानना (Univention gated है); z.url() को scheme allowlist मानना (URL constructor javascript: स्वीकार करता है); click XSS को OS RCE तक बढ़ा-चढ़ाकर बताना। एक reverse shell। नाटक।

लैब

पिन के functions का gadget और एक mock ICS navigation.json। कोई लाइव Element Web container नहीं। how=gadget। URL-preview http/https allowlist (previewFromBundle) लागू करने पर javascript href हट गया और https portal link बना रहा।

python3 element-ics-javascript-Abraxas-Labs.py

या

cd lab
./run.sh

केवल http://127.0.0.1:19620 को लक्षित करें। प्रोजेक्ट element-ics-javascript को कंपोज़ करें। रन के बाद स्टैक टियर डाउन हो जाता है।

SUCCESS element-ics-javascript how=gadget href-scheme=javascript menu-a-javascript=yes allowlist-rejects=yes silent-no-sandbox=yes ELEMENT-ICS-JAVASCRIPT-WITNESS

समाधान

ICS link पर http: और https: को उसी तरह allowlist करें जैसे previewFromBundle करता है। href= से पहले javascript:, data:, और अन्य schemes को अस्वीकार करें। silent iframe को sandbox करें (sandbox="" या कम से कम allow-top-navigation के बिना)। z.url() को scheme allowlist न मानें।

संदर्भ

  • github.com/element-hq/element-web टैग v1.12.29
  • navigation.ts
  • Menu.tsx
  • SilentLogin.tsx
  • निकटवर्ती पैच किया गया (यह href नहीं): GHSA-9r5h previewFromBundle
  • समान pin: element-fragment-guest · element-vector-drive-letter
  • CWE-79

लाइसेंस

GNU Affero GPL v3.0. देखें LICENSE। केवल loopback लैब। कोई वारंटी नहीं।

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