{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "6cd87cb5ef6ca50ae17c371482ceaab1d635e232"
            },
            {
              "fixed": "972e0d9b7d1d112240ccde1f1be85bf9ffaa1720"
            },
            {
              "fixed": "5480291aa848e19e61175abfd457933516db70c6"
            },
            {
              "fixed": "ac1481320110b803ab9b79ab4d2ca11a74fc05f2"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "6.16.0"
            },
            {
              "fixed": "6.18.53"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.2.7"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97589.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ns390/crypto: Fix wrong return code to engine in asynch callbacks\n\nWhen crypto_finalize_hash_request() or\ncrypto_finalize_skcipher_request() explicitly completes a request, the\ndo_one_request callback must return 0 to indicate successful\nhandling. Returning a negative error code causes the crypto engine to\nassume the driver failed to take ownership and triggers a second\ncompletion via crypto_request_complete(), resulting in a double\ncompletion. This pattern occurs in paes_s390.c 4 times and once in\nphmac_s390.c.\n\nFixed in phmac_do_one_request() and all four paes do_one_request\ncallbacks (ecb, cbc, ctr, xts) by returning 0 after explicit\nfinalization instead of propagating the error code.",
  "id": "CVE-2026-97589",
  "modified": "2026-09-27T03:30:40.360761414Z",
  "published": "2026-09-25T10:22:07.441Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/5480291aa848e19e61175abfd457933516db70c6"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/972e0d9b7d1d112240ccde1f1be85bf9ffaa1720"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ac1481320110b803ab9b79ab4d2ca11a74fc05f2"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97589.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-97589"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "s390/crypto: Fix wrong return code to engine in asynch callbacks"
}