CVE-2023-54325 (GCVE-0-2023-54325)

Vulnerability from cvelistv5 – Published: 2025-12-30 12:37 – Updated: 2026-08-05 09:19
VLAI
Title
crypto: qat - fix out-of-bounds read
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: qat - fix out-of-bounds read When preparing an AER-CTR request, the driver copies the key provided by the user into a data structure that is accessible by the firmware. If the target device is QAT GEN4, the key size is rounded up by 16 since a rounded up size is expected by the device. If the key size is rounded up before the copy, the size used for copying the key might be bigger than the size of the region containing the key, causing an out-of-bounds read. Fix by doing the copy first and then update the keylen. This is to fix the following warning reported by KASAN: [ 138.150574] BUG: KASAN: global-out-of-bounds in qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat] [ 138.150641] Read of size 32 at addr ffffffff88c402c0 by task cryptomgr_test/2340 [ 138.150651] CPU: 15 PID: 2340 Comm: cryptomgr_test Not tainted 6.2.0-rc1+ #45 [ 138.150659] Hardware name: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.86B.0087.D13.2208261706 08/26/2022 [ 138.150663] Call Trace: [ 138.150668] <TASK> [ 138.150922] kasan_check_range+0x13a/0x1c0 [ 138.150931] memcpy+0x1f/0x60 [ 138.150940] qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat] [ 138.151006] qat_alg_skcipher_init_sessions+0xc1/0x240 [intel_qat] [ 138.151073] crypto_skcipher_setkey+0x82/0x160 [ 138.151085] ? prepare_keybuf+0xa2/0xd0 [ 138.151095] test_skcipher_vec_cfg+0x2b8/0x800
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 67916c9516893528ecce060ada1f58af0ce33d93 , < 7697139d5dfd491f4c495a914a1dd68f6e827a0f (git)
Affected: 67916c9516893528ecce060ada1f58af0ce33d93 , < dc3809f390357c8992f0a23083da934a20fef9af (git)
Affected: 67916c9516893528ecce060ada1f58af0ce33d93 , < 2b1501f058245573a3aa6bf234d205dde1196184 (git)
Affected: 67916c9516893528ecce060ada1f58af0ce33d93 , < f6044cc3030e139f60c281386f28bda6e3049d66 (git)
Create a notification for this product.
Linux Linux Affected: 5.11
Unaffected: 0 , < 5.11 (semver)
Unaffected: 5.15.99 , ≤ 5.15.* (semver)
Unaffected: 6.1.16 , ≤ 6.1.* (semver)
Unaffected: 6.2.3 , ≤ 6.2.* (semver)
Unaffected: 6.3 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/qat/qat_common/qat_algs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "7697139d5dfd491f4c495a914a1dd68f6e827a0f",
              "status": "affected",
              "version": "67916c9516893528ecce060ada1f58af0ce33d93",
              "versionType": "git"
            },
            {
              "lessThan": "dc3809f390357c8992f0a23083da934a20fef9af",
              "status": "affected",
              "version": "67916c9516893528ecce060ada1f58af0ce33d93",
              "versionType": "git"
            },
            {
              "lessThan": "2b1501f058245573a3aa6bf234d205dde1196184",
              "status": "affected",
              "version": "67916c9516893528ecce060ada1f58af0ce33d93",
              "versionType": "git"
            },
            {
              "lessThan": "f6044cc3030e139f60c281386f28bda6e3049d66",
              "status": "affected",
              "version": "67916c9516893528ecce060ada1f58af0ce33d93",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/qat/qat_common/qat_algs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.11"
            },
            {
              "lessThan": "5.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.99",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.16",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.99",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.16",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.3",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: qat - fix out-of-bounds read\n\nWhen preparing an AER-CTR request, the driver copies the key provided by\nthe user into a data structure that is accessible by the firmware.\nIf the target device is QAT GEN4, the key size is rounded up by 16 since\na rounded up size is expected by the device.\nIf the key size is rounded up before the copy, the size used for copying\nthe key might be bigger than the size of the region containing the key,\ncausing an out-of-bounds read.\n\nFix by doing the copy first and then update the keylen.\n\nThis is to fix the following warning reported by KASAN:\n\n\t[  138.150574] BUG: KASAN: global-out-of-bounds in qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat]\n\t[  138.150641] Read of size 32 at addr ffffffff88c402c0 by task cryptomgr_test/2340\n\n\t[  138.150651] CPU: 15 PID: 2340 Comm: cryptomgr_test Not tainted 6.2.0-rc1+ #45\n\t[  138.150659] Hardware name: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.86B.0087.D13.2208261706 08/26/2022\n\t[  138.150663] Call Trace:\n\t[  138.150668]  \u003cTASK\u003e\n\t[  138.150922]  kasan_check_range+0x13a/0x1c0\n\t[  138.150931]  memcpy+0x1f/0x60\n\t[  138.150940]  qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat]\n\t[  138.151006]  qat_alg_skcipher_init_sessions+0xc1/0x240 [intel_qat]\n\t[  138.151073]  crypto_skcipher_setkey+0x82/0x160\n\t[  138.151085]  ? prepare_keybuf+0xa2/0xd0\n\t[  138.151095]  test_skcipher_vec_cfg+0x2b8/0x800"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable `setkey` path is entered from a local process via an AF_ALG socket (`setsockopt(ALG_SET_KEY)` on `ctr(aes)`/`qat_aes_ctr`) or any other local crypto-API consumer; no network-facing service passes attacker-chosen key lengths into this driver.\nAC:L - The attacker fully and deterministically controls the trigger \u2014 simply install a 24-byte (AES-192) key on a `ctr(aes)` transform, since only the 24\u219232 round-up overreads; no race, timing, or memory-layout condition is involved.\nPR:L - Any unprivileged local user can open AF_ALG and call `ALG_SET_KEY`; `crypto/af_alg.c` and `crypto/algif_skcipher.c` contain no `capable()`/`CAP_*` checks, and QAT\u0027s priority-4001 `ctr(aes)` is selected automatically.\nUI:N - The attacker triggers the out-of-bounds read entirely from its own process by setting a key; no victim action is required (the crypto self-test even triggers it unattended at module load).\nS:U - The overread and its consequences stay within the kernel\u0027s own security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Eight bytes of kernel memory adjacent to the key buffer \u2014 which under heap grooming can be attacker-influenced neighboring slab contents such as other keys or pointers \u2014 are read out of bounds and copied into a DMA-coherent buffer exposed to the accelerator firmware, taking kernel heap data outside the kernel\u0027s control.\nI:N - This is a read-only overread: the 64-byte `ucs_aes.key` destination comfortably holds the 32-byte store, so no out-of-bounds write or control-flow primitive exists, and the AES-192 key schedule ignores the stray trailing bytes.\nA:H - The 8-byte overread faults and oopses whenever the key buffer ends at a mapping boundary (KFENCE-guarded allocation, end of a vmapped region, or the section-end case seen in the reported `.rodata` KASAN report), and on KASAN/`panic_on_warn` kernels it is a hard crash that an unprivileged user can trigger repeatedly."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:19:16.226Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/7697139d5dfd491f4c495a914a1dd68f6e827a0f"
        },
        {
          "url": "https://git.kernel.org/stable/c/dc3809f390357c8992f0a23083da934a20fef9af"
        },
        {
          "url": "https://git.kernel.org/stable/c/2b1501f058245573a3aa6bf234d205dde1196184"
        },
        {
          "url": "https://git.kernel.org/stable/c/f6044cc3030e139f60c281386f28bda6e3049d66"
        }
      ],
      "title": "crypto: qat - fix out-of-bounds read",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54325",
    "datePublished": "2025-12-30T12:37:09.015Z",
    "dateReserved": "2025-12-30T12:35:56.209Z",
    "dateUpdated": "2026-08-05T09:19:16.226Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-54325",
      "date": "2026-08-05",
      "epss": "0.00121",
      "percentile": "0.02249"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-54325\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-30T13:16:21.840\",\"lastModified\":\"2026-08-04T11:16:40.367\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncrypto: qat - fix out-of-bounds read\\n\\nWhen preparing an AER-CTR request, the driver copies the key provided by\\nthe user into a data structure that is accessible by the firmware.\\nIf the target device is QAT GEN4, the key size is rounded up by 16 since\\na rounded up size is expected by the device.\\nIf the key size is rounded up before the copy, the size used for copying\\nthe key might be bigger than the size of the region containing the key,\\ncausing an out-of-bounds read.\\n\\nFix by doing the copy first and then update the keylen.\\n\\nThis is to fix the following warning reported by KASAN:\\n\\n\\t[  138.150574] BUG: KASAN: global-out-of-bounds in qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat]\\n\\t[  138.150641] Read of size 32 at addr ffffffff88c402c0 by task cryptomgr_test/2340\\n\\n\\t[  138.150651] CPU: 15 PID: 2340 Comm: cryptomgr_test Not tainted 6.2.0-rc1+ #45\\n\\t[  138.150659] Hardware name: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.86B.0087.D13.2208261706 08/26/2022\\n\\t[  138.150663] Call Trace:\\n\\t[  138.150668]  \u003cTASK\u003e\\n\\t[  138.150922]  kasan_check_range+0x13a/0x1c0\\n\\t[  138.150931]  memcpy+0x1f/0x60\\n\\t[  138.150940]  qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat]\\n\\t[  138.151006]  qat_alg_skcipher_init_sessions+0xc1/0x240 [intel_qat]\\n\\t[  138.151073]  crypto_skcipher_setkey+0x82/0x160\\n\\t[  138.151085]  ? prepare_keybuf+0xa2/0xd0\\n\\t[  138.151095]  test_skcipher_vec_cfg+0x2b8/0x800\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\ncrypto: qat - correcci\u00f3n de lectura fuera de l\u00edmites\\n\\nAl preparar una solicitud AER-CTR, el controlador copia la clave proporcionada por el usuario en una estructura de datos que es accesible por el firmware.\\nSi el dispositivo de destino es QAT GEN4, el tama\u00f1o de la clave se redondea hacia arriba en 16 ya que el dispositivo espera un tama\u00f1o redondeado.\\nSi el tama\u00f1o de la clave se redondea hacia arriba antes de la copia, el tama\u00f1o utilizado para copiar la clave podr\u00eda ser mayor que el tama\u00f1o de la regi\u00f3n que contiene la clave, causando una lectura fuera de l\u00edmites.\\n\\nCorrecci\u00f3n realizando primero la copia y luego actualizando el keylen.\\n\\nEsto es para corregir la siguiente advertencia reportada por KASAN:\\n\\n\\t[  138.150574] BUG: KASAN: global-out-of-bounds en qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat]\\n\\t[  138.150641] Lectura de tama\u00f1o 32 en la direcci\u00f3n ffffffff88c402c0 por la tarea cryptomgr_test/2340\\n\\n\\t[  138.150651] CPU: 15 PID: 2340 Comm: cryptomgr_test No contaminado 6.2.0-rc1+ #45\\n\\t[  138.150659] Nombre del hardware: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.86B.0087.D13.2208261706 08/26/2022\\n\\t[  138.150663] Traza de llamada:\\n\\t[  138.150668] \\n\\t[  138.150922] kasan_check_range+0x13a/0x1c0\\n\\t[  138.150931] memcpy+0x1f/0x60\\n\\t[  138.150940] qat_alg_skcipher_init_com.isra.0+0x197/0x250 [intel_qat]\\n\\t[  138.151006] qat_alg_skcipher_init_sessions+0xc1/0x240 [intel_qat]\\n\\t[  138.151073] crypto_skcipher_setkey+0x82/0x160\\n\\t[  138.151085] ? prepare_keybuf+0xa2/0xd0\\n\\t[  138.151095] test_skcipher_vec_cfg+0x2b8/0x800\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/crypto/qat/qat_common/qat_algs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"67916c9516893528ecce060ada1f58af0ce33d93\",\"lessThan\":\"7697139d5dfd491f4c495a914a1dd68f6e827a0f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"67916c9516893528ecce060ada1f58af0ce33d93\",\"lessThan\":\"dc3809f390357c8992f0a23083da934a20fef9af\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"67916c9516893528ecce060ada1f58af0ce33d93\",\"lessThan\":\"2b1501f058245573a3aa6bf234d205dde1196184\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"67916c9516893528ecce060ada1f58af0ce33d93\",\"lessThan\":\"f6044cc3030e139f60c281386f28bda6e3049d66\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/crypto/qat/qat_common/qat_algs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.11\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.11\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.99\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.16\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.2.3\",\"lessThanOrEqual\":\"6.2.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.3\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.2}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2b1501f058245573a3aa6bf234d205dde1196184\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7697139d5dfd491f4c495a914a1dd68f6e827a0f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/dc3809f390357c8992f0a23083da934a20fef9af\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f6044cc3030e139f60c281386f28bda6e3049d66\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:12:09+00:00",
      "cve": "CVE-2023-54325",
      "id": "CVE-2023-54325",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "441",
      "product_status:known_affected": "38",
      "product_status:known_not_affected": "118",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: crypto: qat - fix out-of-bounds read",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-54325.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-26T16:46:56Z",
      "cve": "CVE-2023-54325",
      "id": "CVE-2023-54325",
      "initial_release_date": "2025-12-31T00:25:46Z",
      "product_status:known_affected": "395",
      "product_status:known_not_affected": "300",
      "product_status:recommended": "245",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-54325",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-54325.json",
      "version": "22"
    }
  }
}



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…

Loading…