CVE-2026-43330 (GCVE-0-2026-43330)

Vulnerability from cvelistv5 – Published: 2026-05-08 13:31 – Updated: 2026-08-05 12:27
VLAI
Title
crypto: caam - fix overflow on long hmac keys
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: caam - fix overflow on long hmac keys When a key longer than block size is supplied, it is copied and then hashed into the real key. The memory allocated for the copy needs to be rounded to DMA cache alignment, as otherwise the hashed key may corrupt neighbouring memory. The copying is performed using kmemdup, however this leads to an overflow: reading more bytes (aligned_len - keylen) from the keylen source buffer. Fix this by replacing kmemdup with kmalloc, followed by memcpy.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 199354d7fb6eaa2cc5bb650af0bca624baffee35 , < 31022cfde5235c45fa765f0aabeff5f0652852f2 (git)
Affected: 199354d7fb6eaa2cc5bb650af0bca624baffee35 , < c2fb4984fe09fc176fe4c12d5e3edf626df6511d (git)
Affected: 199354d7fb6eaa2cc5bb650af0bca624baffee35 , < aa545df011338df13f0833fc1fabcb15c0521959 (git)
Affected: 199354d7fb6eaa2cc5bb650af0bca624baffee35 , < cebc5ebd958346195b77f42d0cd5141b4e448fae (git)
Affected: 199354d7fb6eaa2cc5bb650af0bca624baffee35 , < 80688afb9c35b3934ce2d6be9973758915e2e0ef (git)
Create a notification for this product.
Linux Linux Affected: 6.3
Unaffected: 0 , < 6.3 (semver)
Unaffected: 6.6.134 , ≤ 6.6.* (semver)
Unaffected: 6.12.81 , ≤ 6.12.* (semver)
Unaffected: 6.18.22 , ≤ 6.18.* (semver)
Unaffected: 6.19.12 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (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/caam/caamalg_qi2.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "31022cfde5235c45fa765f0aabeff5f0652852f2",
              "status": "affected",
              "version": "199354d7fb6eaa2cc5bb650af0bca624baffee35",
              "versionType": "git"
            },
            {
              "lessThan": "c2fb4984fe09fc176fe4c12d5e3edf626df6511d",
              "status": "affected",
              "version": "199354d7fb6eaa2cc5bb650af0bca624baffee35",
              "versionType": "git"
            },
            {
              "lessThan": "aa545df011338df13f0833fc1fabcb15c0521959",
              "status": "affected",
              "version": "199354d7fb6eaa2cc5bb650af0bca624baffee35",
              "versionType": "git"
            },
            {
              "lessThan": "cebc5ebd958346195b77f42d0cd5141b4e448fae",
              "status": "affected",
              "version": "199354d7fb6eaa2cc5bb650af0bca624baffee35",
              "versionType": "git"
            },
            {
              "lessThan": "80688afb9c35b3934ce2d6be9973758915e2e0ef",
              "status": "affected",
              "version": "199354d7fb6eaa2cc5bb650af0bca624baffee35",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/caam/caamalg_qi2.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.134",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.81",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.22",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.134",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.81",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.22",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.12",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: caam - fix overflow on long hmac keys\n\nWhen a key longer than block size is supplied, it is copied and then\nhashed into the real key.  The memory allocated for the copy needs to\nbe rounded to DMA cache alignment, as otherwise the hashed key may\ncorrupt neighbouring memory.\n\nThe copying is performed using kmemdup, however this leads to an overflow:\nreading more bytes (aligned_len - keylen) from the keylen source buffer.\nFix this by replacing kmemdup with kmalloc, followed by memcpy."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - An attacker reaches the vulnerable CAAM HMAC `ahash_setkey` path locally through the unprivileged `AF_ALG` hash socket interface and `setsockopt(ALG_SET_KEY)`. There is no remotely supplied packet or adjacent-link protocol path that directly chooses this HMAC key.\nAC:L - The attacker directly controls the algorithm selection and long key length, and triggering only requires supplying a key longer than the hash block size on a system with the CAAM QI2 driver registered. No race or victim-controlled timing condition is required.\nPR:L - Creating and using `AF_ALG` hash sockets does not require administrative capabilities, so any local unprivileged user can invoke the setkey path. It is therefore Low privileges, not High.\nUI:N - No victim action is needed after the attacker has local code execution; the attacker can open the socket, bind the HMAC algorithm, and set the key themselves.\nS:U - The vulnerability is in kernel crypto driver handling and impacts the same kernel security authority. It does not cross a VM, IOMMU, or separate authorization boundary.\nC:H - The bug is an out-of-bounds kernel heap read from the temporary key buffer by up to DMA cache-alignment padding, and repeated attacker-controlled invocations can expose sensitive adjacent kernel memory. Under the conservative rule, this kernel OOB read is scored as High confidentiality impact.\nI:H - The affected long-key path is kernel DMA/HMAC key handling where incorrect aligned-buffer handling is associated with neighboring memory corruption, and exploitation of kernel memory-safety bugs can plausibly yield arbitrary modification or code execution. Under the required higher-severity tie-break, integrity is High.\nA:H - The overflow can trigger kernel memory safety failures such as KASAN reports, faults, oopses, or DMA-related corruption in kernel memory. This is sufficient for High availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:27:16.367Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/31022cfde5235c45fa765f0aabeff5f0652852f2"
        },
        {
          "url": "https://git.kernel.org/stable/c/c2fb4984fe09fc176fe4c12d5e3edf626df6511d"
        },
        {
          "url": "https://git.kernel.org/stable/c/aa545df011338df13f0833fc1fabcb15c0521959"
        },
        {
          "url": "https://git.kernel.org/stable/c/cebc5ebd958346195b77f42d0cd5141b4e448fae"
        },
        {
          "url": "https://git.kernel.org/stable/c/80688afb9c35b3934ce2d6be9973758915e2e0ef"
        }
      ],
      "title": "crypto: caam - fix overflow on long hmac keys",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-43330",
    "datePublished": "2026-05-08T13:31:18.133Z",
    "dateReserved": "2026-05-01T14:12:56.002Z",
    "dateUpdated": "2026-08-05T12:27:16.367Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-43330",
      "date": "2026-08-11",
      "epss": "0.00129",
      "percentile": "0.02935"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-43330\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-08T14:16:42.650\",\"lastModified\":\"2026-06-17T10:49:23.727\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncrypto: caam - fix overflow on long hmac keys\\n\\nWhen a key longer than block size is supplied, it is copied and then\\nhashed into the real key.  The memory allocated for the copy needs to\\nbe rounded to DMA cache alignment, as otherwise the hashed key may\\ncorrupt neighbouring memory.\\n\\nThe copying is performed using kmemdup, however this leads to an overflow:\\nreading more bytes (aligned_len - keylen) from the keylen source buffer.\\nFix this by replacing kmemdup with kmalloc, followed by memcpy.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/crypto/caam/caamalg_qi2.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"199354d7fb6eaa2cc5bb650af0bca624baffee35\",\"lessThan\":\"31022cfde5235c45fa765f0aabeff5f0652852f2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"199354d7fb6eaa2cc5bb650af0bca624baffee35\",\"lessThan\":\"c2fb4984fe09fc176fe4c12d5e3edf626df6511d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"199354d7fb6eaa2cc5bb650af0bca624baffee35\",\"lessThan\":\"aa545df011338df13f0833fc1fabcb15c0521959\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"199354d7fb6eaa2cc5bb650af0bca624baffee35\",\"lessThan\":\"cebc5ebd958346195b77f42d0cd5141b4e448fae\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"199354d7fb6eaa2cc5bb650af0bca624baffee35\",\"lessThan\":\"80688afb9c35b3934ce2d6be9973758915e2e0ef\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/crypto/caam/caamalg_qi2.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.3\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.3\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.134\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.81\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.22\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.19.12\",\"lessThanOrEqual\":\"6.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0\",\"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:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-787\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.3\",\"versionEndExcluding\":\"6.6.134\",\"matchCriteriaId\":\"E87FA488-9C69-4C4C-9BBB-60BC7AC3E49C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.81\",\"matchCriteriaId\":\"6EF80433-B33B-43C5-8E64-0FA7B8DCE1BC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.18.22\",\"matchCriteriaId\":\"C9DF8BCE-36D3-475D-9D21-19E4F02F9029\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"6.19.12\",\"matchCriteriaId\":\"0A2B9540-02D5-41B4-B16A-82AF66FD4F36\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"F253B622-8837-4245-BCE5-A7BF8FC76A16\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"4AE85AD8-4641-4E7C-A2F4-305E2CD9EE64\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F666C8D8-6538-46D4-B318-87610DE64C34\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"02259FDA-961B-47BC-AE7F-93D7EC6E90C2\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"58A9FEFF-C040-420D-8F0A-BFDAAA1DF258\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"1D2315C0-D46F-4F85-9754-F9E5E11374A6\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/31022cfde5235c45fa765f0aabeff5f0652852f2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/80688afb9c35b3934ce2d6be9973758915e2e0ef\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/aa545df011338df13f0833fc1fabcb15c0521959\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/c2fb4984fe09fc176fe4c12d5e3edf626df6511d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/cebc5ebd958346195b77f42d0cd5141b4e448fae\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-14T18:04:31+00:00",
      "cve": "CVE-2026-43330",
      "id": "CVE-2026-43330",
      "initial_release_date": "2026-05-08T00:00:00+00:00",
      "product_status:fixed": "616",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: crypto: caam - fix overflow on long hmac keys",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43330.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-08-02T16:37:39Z",
      "cve": "CVE-2026-43330",
      "id": "CVE-2026-43330",
      "initial_release_date": "2026-05-12T03:30:49Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "196",
      "product_status:recommended": "196",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-43330",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-43330.json",
      "version": "12"
    }
  }
}



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…