Skip to content
Heist/ feed
Back to feed
Medium

Responder can Invoke Undefined Behavior in libspdm Requester

Type: advisorySources: OSV

libspdm is a sample implementation that follows the DMTF SPDM specifications. Prior to versions 2.3.3 and 3.0, following a successful CAPABILITIES response, a libspdm Requester stores the Responder's CTExponent into its context without validation. If the Requester sends a request message that requires a cryptography operation by the Responder, such as CHALLENGE, libspdm will calculate the timeout value using the Responder's unvalidated CTExponent. A patch is available in version 2.3.3. A workaround is also available. After completion of VCA, the Requester can check the value of the Responder's CTExponent. If it greater than or equal to 64, then the Requester can stop communication with the Responder.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2023-32690
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 02:24 UTC · Revision 1

Source evidence

Responder can Invoke Undefined Behavior in libspdm Requester

core-osv · Original source

Published 1 Jun 2023, 16:15 UTC

libspdm is a sample implementation that follows the DMTF SPDM specifications. Prior to versions 2.3.3 and 3.0, following a successful CAPABILITIES response, a libspdm Requester stores the Responder's CTExponent into its context without validation. If the Requester sends a request message that requires a cryptography operation by the Responder, such as CHALLENGE, libspdm will calculate the timeout value using the Responder's unvalidated CTExponent. A patch is available in version 2.3.3. A workaround is also available. After completion of VCA, the Requester can check the value of the Responder's CTExponent. If it greater than or equal to 64, then the Requester can stop communication with the Responder.

osv:CVE-2023-32690
Complete source record
{
  "id": "f588dfe5a660ebf76df1ac43193cb28e8a9b00e2d5e758c8c9bbba1378ef808e",
  "url": "https://osv.dev/vulnerability/CVE-2023-32690",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Responder can Invoke Undefined Behavior in libspdm Requester",
    "summary": "libspdm is a sample implementation that follows the DMTF SPDM specifications. Prior to versions 2.3.3 and 3.0, following a successful CAPABILITIES response, a libspdm Requester stores the Responder's CTExponent into its context without validation. If the Requester sends a request message that requires a cryptography operation by the Responder, such as CHALLENGE, libspdm will calculate the timeout value using the Responder's unvalidated CTExponent. A patch is available in version 2.3.3. A workaround is also available. After completion of VCA, the Requester can check the value of the Responder's CTExponent. If it greater than or equal to 64, then the Requester can stop communication with the Responder.",
    "evidence": "osv:CVE-2023-32690",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2023-32690",
      "aliases": [
        "CVE-2023-32690",
        "GHSA-56h8-4gv5-jf2c"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/dmtf/libspdm",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "0ce1c8308b751a974f935347454054e22f417d63"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.3.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:dmtf:libspdm:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.3.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.3.2",
            "2.3.1",
            "2.3.0",
            "2.2.0",
            "2.1.0",
            "2.0.0",
            "1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-32690.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.272403794Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/32xxx/CVE-2023-32690.json",
        "https://github.com/DMTF/libspdm/security/advisories/GHSA-56h8-4gv5-jf2c",
        "https://nvd.nist.gov/vuln/detail/CVE-2023-32690",
        "https://github.com/DMTF/libspdm/issues/2068",
        "https://github.com/DMTF/libspdm/pull/2069"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-20"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/32xxx/CVE-2023-32690.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2023-32690",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491879,
  "published_at": "2023-06-01T16:15:21.052+00:00"
}