CVE-2026-4870 (GCVE-0-2026-4870)

Vulnerability from cvelistv5 – Published: 2026-06-12 20:52 – Updated: 2026-06-12 20:52
VLAI
Title
Qiskit SDK is vulnerable to specific functions may recurse too deeply and overflow the available stack space, when encountering certain classical expressions.
Summary
IBM Qiskit SDK 0.43.0 through 2.5.0 could allow an attacker to trigger a segmentation fault leading to a denial of service due to uncontrolled recursion in the parser.
Assigner
ibm
References
URL Tags
https://www.ibm.com/support/pages/node/7276123 vendor-advisorypatch
Impacted products
Vendor Product Version
IBM Qiskit SDK Affected: 0.43.0 , ≤ 2.5.0 (semver)
    cpe:2.3:a:ibm:qiskit_sdk:0.43.0:*:*:*:*:*:*:*
    cpe:2.3:a:ibm:qiskit_sdk:2.5.0:*:*:*:*:*:*:*
Create a notification for this product.
Credits
This vulnerability was reported to IBM by Ali Sherif.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "cpes": [
            "cpe:2.3:a:ibm:qiskit_sdk:0.43.0:*:*:*:*:*:*:*",
            "cpe:2.3:a:ibm:qiskit_sdk:2.5.0:*:*:*:*:*:*:*"
          ],
          "product": "Qiskit SDK",
          "vendor": "IBM",
          "versions": [
            {
              "lessThanOrEqual": "2.5.0",
              "status": "affected",
              "version": "0.43.0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "This vulnerability was reported to IBM by Ali Sherif."
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eIBM Qiskit SDK 0.43.0 through 2.5.0 could allow an attacker to trigger a segmentation fault leading to a denial of service due to uncontrolled recursion in the parser.\u003c/p\u003e"
            }
          ],
          "value": "IBM Qiskit SDK 0.43.0 through 2.5.0 could allow an attacker to trigger a segmentation fault leading to a denial of service due to uncontrolled recursion in the parser."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-12T20:52:58.528Z",
        "orgId": "9a959283-ebb5-44b6-b705-dcc2bbced522",
        "shortName": "ibm"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory",
            "patch"
          ],
          "url": "https://www.ibm.com/support/pages/node/7276123"
        }
      ],
      "solutions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003e\u003cstrong\u003eRemediation/Fixes guidance\u003c/strong\u003e:\u003c/p\u003e\u003cp\u003eThe issue is addressed in Qiskit versions v1.4.6 and v2.4.2. These are patched to error with a Python-space RecursionError exception once the expression depth exceeds the Python recursion limit which can be queried with sys.getrecursionlimit(). This limit can be adjusted by calling sys.setrecursionlimit(). Future versions of Qiskit may remove this limit entirely with a non-recursive version of the OpenQASM 2 parser.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cdiv\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003cstrong\u003eProduct(s)\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003e\u003cstrong\u003eVersion(s) number and/or range\u00a0\u003c/strong\u003e\u003c/td\u003e\u003ctd\u003e\u003cstrong\u003eRemediation/Fix/Instructions\u003c/strong\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u0026lt;Qiskit SDK - qiskit.qasm2.loads() function\u0026gt;\u003c/td\u003e\u003ctd\u003ev1.4.6 and v2.4.2\u003c/td\u003e\u003ctd\u003e\u003cpre\u003eUpgrade to the patched versions: qiskit v1.4.6 or qiskit v2.4.2.\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u0026lt;Qiskit SDK - QuantumCircuit.from_qasm_str function\u0026gt;\u003c/td\u003e\u003ctd\u003ev1.4.6 and v2.4.2\u003c/td\u003e\u003ctd\u003e\u003cpre\u003eUpgrade to the patched versions: qiskit v1.4.6 or qiskit v2.4.2.\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u0026lt;Qiskit SDK - QuantumCircuit.from_qasm_str function\u0026gt;\u003c/td\u003e\u003ctd\u003ev1.4.6 and v2.4.2\u003c/td\u003e\u003ctd\u003e\u003cpre\u003eUpgrade to the patched versions: qiskit v1.4.6 or qiskit v2.4.2.\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e"
            }
          ],
          "value": "Remediation/Fixes guidance:\n\n\n\nThe issue is addressed in Qiskit versions v1.4.6 and v2.4.2. These are patched to error with a Python-space RecursionError exception once the expression depth exceeds the Python recursion limit which can be queried with sys.getrecursionlimit(). This limit can be adjusted by calling sys.setrecursionlimit(). Future versions of Qiskit may remove this limit entirely with a non-recursive version of the OpenQASM 2 parser.\n\n\n\n\n\nProduct(s)Version(s) number and/or range\u00a0Remediation/Fix/Instructions\u003cQiskit SDK - qiskit.qasm2.loads() function\u003ev1.4.6 and v2.4.2\n\nUpgrade to the patched versions: qiskit v1.4.6 or qiskit v2.4.2.\n\n\u003cQiskit SDK - QuantumCircuit.from_qasm_str function\u003ev1.4.6 and v2.4.2\n\nUpgrade to the patched versions: qiskit v1.4.6 or qiskit v2.4.2.\n\n\u003cQiskit SDK - QuantumCircuit.from_qasm_str function\u003ev1.4.6 and v2.4.2\n\nUpgrade to the patched versions: qiskit v1.4.6 or qiskit v2.4.2."
        }
      ],
      "title": "Qiskit SDK is vulnerable to specific functions may recurse too deeply and overflow the available stack space, when encountering certain classical expressions.",
      "workarounds": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003e\u003cstrong\u003eWorkarounds/Mitigation guidance\u003c/strong\u003e:\u003c/p\u003e\u003cp\u003e\u003cbr/\u003eNone\u003c/p\u003e\u003cp\u003e\u003c/p\u003e"
            }
          ],
          "value": "Workarounds/Mitigation guidance:\n\n\n\n\nNone"
        }
      ],
      "x_generator": {
        "engine": "ibm-cvegen"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "9a959283-ebb5-44b6-b705-dcc2bbced522",
    "assignerShortName": "ibm",
    "cveId": "CVE-2026-4870",
    "datePublished": "2026-06-12T20:52:58.528Z",
    "dateReserved": "2026-03-25T21:23:18.986Z",
    "dateUpdated": "2026-06-12T20:52:58.528Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-4870",
      "date": "2026-06-13",
      "epss": "0.0004",
      "percentile": "0.12442"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-4870\",\"sourceIdentifier\":\"psirt@us.ibm.com\",\"published\":\"2026-06-12T21:16:23.963\",\"lastModified\":\"2026-06-12T21:16:23.963\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"IBM Qiskit SDK 0.43.0 through 2.5.0 could allow an attacker to trigger a segmentation fault leading to a denial of service due to uncontrolled recursion in the parser.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"psirt@us.ibm.com\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"references\":[{\"url\":\"https://www.ibm.com/support/pages/node/7276123\",\"source\":\"psirt@us.ibm.com\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…