Skip to main content

Linux Kernel CVE-2025-40182

HIGH
2025-11-12 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local unprivileged user can reach skcipher via AF_ALG (AV:L, PR:L, AC:L) and corrupt kernel memory; realistic outcome is DoS but corruption justifies retaining C:H/I:H/A:H.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Analysis Updated
Jul 30, 2026 - 08:39 vuln.today
v3 (cvss_changed)
Analysis Updated
Jul 30, 2026 - 08:36 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 30, 2026 - 06:37 vuln.today
cvss_changed
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.8 (HIGH)
Analysis Generated
Mar 28, 2026 - 19:21 vuln.today
CVE Published
Nov 12, 2025 - 22:15 nvd
N/A

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

crypto: skcipher - Fix reqsize handling

Commit afddce13ce81d ("crypto: api - Add reqsize to crypto_alg") introduced cra_reqsize field in crypto_alg struct to replace type specific reqsize fields. It looks like this was introduced specifically for ahash and acomp from the commit description as subsequent commits add necessary changes in these alg frameworks.

However, this is being recommended for use in all crypto algs [1] instead of setting reqsize using crypto_*_set_reqsize(). Using cra_reqsize in skcipher algorithms, hence, causes memory corruptions and crashes as the underlying functions in the algorithm framework have not been updated to set the reqsize properly from cra_reqsize. [2]

Add proper set_reqsize calls in the skcipher init function to properly initialize reqsize for these algorithms in the framework.

[1]: https://lore.kernel.org/linux-crypto/aCL8BxpHr5OpT04k@gondor.apana.org.au/ [2]: https://gist.github.com/Pratham-T/24247446f1faf4b7843e4014d5089f6b

AnalysisAI

Local privilege-escalation and memory-corruption in the Linux kernel's crypto skcipher (symmetric block cipher) framework allows a low-privileged local user to corrupt kernel memory by exercising an skcipher algorithm that declares its request size via the new cra_reqsize field. The regression stems from commit afddce13ce81d, which added cra_reqsize for ahash/acomp but left skcipher's framework paths unaware of it, so per-request scratch buffers are undersized. EPSS is negligible (0.03%), the issue is not on the CISA KEV list, and no public exploit is identified - the tags characterize the practical outcome as denial of service (kernel crash), though memory corruption leaves privilege escalation theoretically possible.

Technical ContextAI

The Linux kernel Crypto API lets each algorithm advertise how much per-request context memory the framework must allocate. Historically skcipher used crypto_skcipher_set_reqsize(); commit afddce13ce81d introduced a generic cra_reqsize field in the crypto_alg struct intended for the ahash and acomp frameworks, whose subsequent commits taught those frameworks to honor it. Community guidance then recommended cra_reqsize for all algorithms, but the skcipher framework's init/allocation code was never updated to read cra_reqsize, so an skcipher driver that sets only cra_reqsize ends up with a request object smaller than the algorithm expects. The resulting out-of-bounds access when the algorithm writes into its request context is a classic buffer-size/initialization mismatch (root-cause class akin to CWE-131 incorrect buffer-size calculation / CWE-665 improper initialization leading to CWE-787 out-of-bounds write); CWE is listed as N/A by the source. The fix adds explicit crypto_skcipher_set_reqsize() calls in the skcipher init path so reqsize is populated correctly regardless of how the driver declared it.

Affected ProductsAI

The affected product is the Linux kernel, specifically the crypto/skcipher symmetric-cipher framework, in versions that adopted the cra_reqsize field from commit afddce13ce81d ('crypto: api - Add reqsize to crypto_alg') for skcipher algorithms. No CPE strings, exact tagged version numbers, or distribution-specific advisories were provided in the input; affected versions must be derived from the introducing commit and the stable-tree fix commits at https://git.kernel.org/stable/c/229c586b5e86979badb7cb0d38717b88a9e95ddd and https://git.kernel.org/stable/c/f041339d6b9a5a46437f0c48fc7279c92af7a513. Any kernel build or driver that registers an skcipher algorithm declaring cra_reqsize instead of calling crypto_skcipher_set_reqsize() is exposed.

RemediationAI

Upstream fix available (commits); a released/tagged patched version is not independently confirmed from the provided data - apply the stable-tree fix referenced at https://git.kernel.org/stable/c/229c586b5e86979badb7cb0d38717b88a9e95ddd and https://git.kernel.org/stable/c/f041339d6b9a5a46437f0c48fc7279c92af7a513, or upgrade to the distribution kernel that incorporates it once your vendor (e.g., Debian, Ubuntu, RHEL, SUSE) publishes the backport. Until patched, reduce exposure by restricting unprivileged access to the userspace crypto interface: disable or block the AF_ALG socket family (CONFIG_CRYPTO_USER_API / algif_skcipher) if not required, which prevents unprivileged userspace from directly driving skcipher algorithms but will break applications that legitimately use AF_ALG; alternatively confine access with seccomp/LSM policies to deny the affected syscall paths, accepting the maintenance overhead of profiling legitimate callers. Because the flaw is local-only, hardening multi-tenant and untrusted-shell environments (avoiding shared kernels with untrusted local users) is the most effective compensating control.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

CVE-2025-40182 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy