
「💥」CVE-2022-33891 - Apache Spark कमांड इंजेक्शन
Apache Spark UI कॉन्फ़िगरेशन विकल्प spark.acls.enable के माध्यम से ACLs सक्षम करने की संभावना प्रदान करता है। एक प्रमाणीकरण फ़िल्टर के साथ, यह जाँचता है कि किसी उपयोगकर्ता के पास एप्लिकेशन को देखने या संशोधित करने की अनुमति है या नहीं। यदि ACLs सक्षम हैं, तो HttpSecurityFilter में एक कोड पथ किसी को एक मनमाना उपयोगकर्ता नाम प्रदान करके प्रतिरूपण करने की अनुमति दे सकता है। एक दुर्भावनापूर्ण उपयोगकर्ता तब एक अनुमति जांच फ़ंक्शन तक पहुंच सकता है जो अंततः उनके इनपुट के आधार पर एक Unix शेल कमांड बनाएगा और इसे निष्पादित करेगा। इसके परिणामस्वरूप उस उपयोगकर्ता के रूप में मनमाना शेल कमांड निष्पादन होगा जिसके रूप में Spark वर्तमान में चल रहा है। यह Apache Spark संस्करण 3.0.3 और पहले, संस्करण 3.1.1 से 3.1.2, और संस्करण 3.2.0 से 3.2.1 को प्रभावित करता है।
private def getUnixGroups(username: String): Set[String] = {
val cmdSeq = Seq("bash", "-c", "id -Gn " + username)
// we need to get rid of the trailing "\n" from the result of command execution
Utils.executeAndGetOutput(cmdSeq).stripLineEnd.split(" ").toSet
}

pip install requests
git clone https://github.com/AmoloHT/CVE-2022-33891
cd CVE-2022-33891
python3 CVE-2022-33891.py -u http://TARGET.TLD