Qiskit allows arbitrary code execution decoding QPY format versions < 13
Description
Published to the GitHub Advisory Database
Mar 14, 2025
Reviewed
Mar 14, 2025
Last updated
Mar 15, 2025
Impact
A maliciously crafted QPY file containing can potentially execute arbitrary-code embedded in the payload without privilege escalation when deserializing QPY formats < 13. A python process calling Qiskit's
qiskit.qpy.load()
function could potentially execute any arbitrary Python code embedded in the correct place in the binary file as part of a specially constructed payload.Patches
Fixed in Qiskit 1.4.2 and in Qiskit 2.0.0rc2
References