High priorityDisclosed

Advisory · CVE-2026-116499

IBM Qiskit SDK deserialization can run arbitrary code locally

IBM Qiskit SDK 1.4.2 through 2.6.2 could allow a local attacker to execute arbitrary code due to deserialization of untrusted data, rated high at CVSS 8.4.

Vendor
IBM
Product
Qiskit SDK
Identifier / CWE
CVE-2026-116499
CWE-502
Action timing
Immediate
ELI5

Explain it like I’m five

Qiskit rebuilds saved objects from stored data, and it trusts that data too much. A local attacker who can hand it a crafted saved object gets their code run instead.

SIMPLIFIED_ATTACK_PATH03 STEPS
  1. 01Crafted data supplied

    A local attacker supplies serialized data to Qiskit SDK.

  2. 02Deserialization runs

    The data is deserialized without adequate validation.

  3. 03Code executed

    Arbitrary code runs in the local process.

What happened

IBM Qiskit SDK 1.4.2 through 2.6.2 could allow a local attacker to execute arbitrary code due to deserialization of untrusted data. The record rates it high at CVSS 8.4 under version 3.1, with local attack vector, low complexity, no privileges required, and no user interaction.

IBM’s bulletin lists the affected versions and the fix. Local means the attacker needs access to the machine or its files, but deserialized quantum circuits and saved objects travel between people and systems.

What to do

  1. Inventory Qiskit SDK installations and record each version.
  2. Check the IBM bulletin for the fix and apply it.
  3. Avoid loading serialized data from untrusted sources.
  4. Review local workflows that exchange serialized Qiskit objects.
  5. Verify the deployed version after updating.

Management note

Deserialization of untrusted data is a classic code execution path. Treat saved Qiskit objects from outside as untrusted until patched.