{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-56681", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-12-27T15:00:39.846Z", "datePublished": "2024-12-28T09:46:09.675Z", "dateUpdated": "2026-08-05T11:46:02.716Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:46:02.716Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: bcm - add error check in the ahash_hmac_init function\n\nThe ahash_init functions may return fails. The ahash_hmac_init should\nnot return ok when ahash_init returns error. For an example, ahash_init\nwill return -ENOMEM when allocation memory is error." } ], "metrics": [ { "cvssV3_1": { "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" }, "scenarios": [ { "lang": "en", "value": "AV:L - The reliable trigger is a local unprivileged process driving the driver's ahash through AF_ALG (algif_hash) socket syscalls; in-kernel remote consumers of crypto_ahash_init() on hmac algorithms (tcp_ao, gss_krb5) would additionally require an allocation failure the remote peer cannot control.\nAC:L - The attacker sets a zero-length HMAC key via ALG_SET_KEY, which makes ahash_init() skip setkey and hit the deterministic -ENOKEY error path that frees ctx->shash without clearing it — no race, no memory pressure, and the freed object can be groomed between syscalls before the update() use.\nPR:L - Any unprivileged local user can open an AF_ALG hash socket and bind to the driver's algorithm/driver name (hmac-sha1-iproc); no capability check exists on this path.\nUI:N - The attacker performs the entire socket/setkey/sendmsg sequence itself; no victim action is involved.\nS:U - The corruption is confined to kernel heap memory within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The stale ctx->shash is dereferenced as a shash_desc, so an attacker who reclaims the freed slab object controls the tfm pointer and the resulting digest data returned to userspace, giving a use-after-free read primitive over kernel memory.\nI:H - crypto_shash_update()/final() perform an indirect call through a function-pointer table reached from the freed object, and ahash_final() then does crypto_free_shash(ctx->shash->tfm) plus kfree(ctx->shash) — a double free and a free of an attacker-supplied pointer, which is a control-flow-hijack/arbitrary-write primitive.\nA:H - In the -ENOMEM case ctx->shash is NULL and the subsequent crypto_shash_update()/final() dereference NULL, and in the -ENOKEY case the use-after-free and double free reliably oops or panic the kernel." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/crypto/bcm/cipher.c" ], "versions": [ { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "8f1a9a960b1107bd0e0ec3736055f5ed0e717edf", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "75e1e38e5d80d6d9011b7322698ffba3dd3db30a", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "28f8ffa945f7d7150463e15097ea73b19529d6f5", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "4ea3e3b761e371102bb1486778e2f8dbc9e37413", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "05f0a3f5477ecaa1cf46448504afe9e7c2e96fcc", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "ae5253313e0ea5f00c06176074592b7f493c8546", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "ee36db8e8203420e6d5c42eb9428920c2fc36532", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "bba9e38c5ad41d0a88b22a59e5b6dd3e31825118", "status": "affected", "versionType": "git" }, { "version": "9d12ba86f818aa9cfe9f01b750336aa441f2ffa2", "lessThan": "19630cf57233e845b6ac57c9c969a4888925467b", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/crypto/bcm/cipher.c" ], "versions": [ { "version": "4.11", "status": "affected" }, { "version": "0", "lessThan": "4.11", "status": "unaffected", "versionType": "semver" }, { "version": "4.19.325", "lessThanOrEqual": "4.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.287", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.231", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.174", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.120", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.64", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.11.11", "lessThanOrEqual": "6.11.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.2", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.13", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "4.19.325" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "5.4.287" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "5.10.231" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "5.15.174" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "6.1.120" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "6.6.64" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "6.11.11" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "6.12.2" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.11", "versionEndExcluding": "6.13" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/8f1a9a960b1107bd0e0ec3736055f5ed0e717edf" }, { "url": "https://git.kernel.org/stable/c/75e1e38e5d80d6d9011b7322698ffba3dd3db30a" }, { "url": "https://git.kernel.org/stable/c/28f8ffa945f7d7150463e15097ea73b19529d6f5" }, { "url": "https://git.kernel.org/stable/c/4ea3e3b761e371102bb1486778e2f8dbc9e37413" }, { "url": "https://git.kernel.org/stable/c/05f0a3f5477ecaa1cf46448504afe9e7c2e96fcc" }, { "url": "https://git.kernel.org/stable/c/ae5253313e0ea5f00c06176074592b7f493c8546" }, { "url": "https://git.kernel.org/stable/c/ee36db8e8203420e6d5c42eb9428920c2fc36532" }, { "url": "https://git.kernel.org/stable/c/bba9e38c5ad41d0a88b22a59e5b6dd3e31825118" }, { "url": "https://git.kernel.org/stable/c/19630cf57233e845b6ac57c9c969a4888925467b" } ], "title": "crypto: bcm - add error check in the ahash_hmac_init function", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html" }, { "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html" } ], "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2025-11-03T20:52:28.536Z" } } ] } }