The vulnerability exists because the boltz library uses the insecure pickle.load and pickle.loads functions to deserialize data from files and object properties that can be controlled by an attacker. The functions load_molecules and load_all_molecules in src/boltz/data/mol.py directly read .pkl files and deserialize them. An attacker who can place a malicious pickle file in the directory being processed by the application can trigger arbitrary code execution. Furthermore, the get_symmetries function also uses pickle.loads on properties of molecule objects. If these objects are loaded from a malicious file, this function can also be an execution vector. The root cause is the lack of validation and the use of an unsafe deserialization method on untrusted data.