CVE-2025-39917

bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt

State
Published
Severity
7.8 High
Published
Oct 1, 2025
Updated
May 11, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt

Stanislav reported that in bpf_crypto_crypt() the destination dynptr's size is not validated to be at least as large as the source dynptr's size before calling into the crypto backend with 'len = src_len'. This can result in an OOB write when the destination is smaller than the source.

Concretely, in mentioned function, psrc and pdst are both linear buffers fetched from each dynptr:

psrc = __bpf_dynptr_data(src, src_len); [...] pdst = __bpf_dynptr_data_rw(dst, dst_len); [...] err = decrypt ? ctx->type->decrypt(ctx->tfm, psrc, pdst, src_len, piv) : ctx->type->encrypt(ctx->tfm, psrc, pdst, src_len, piv);

The crypto backend expects pdst to be large enough with a src_len length that can be written. Add an additional src_len > dst_len check and bail out if it's the case. Note that these kfuncs are accessible under root privileges only.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 3e1c6f35409f9e447bf37f64840f5b65576bfb78 to before 0126358df12d6f476f79251d9c398ac5c1b3062dAffected
  • 3e1c6f35409f9e447bf37f64840f5b65576bfb78 to before c4be24ef0510c146dca4671effb127e97631534bAffected
  • 3e1c6f35409f9e447bf37f64840f5b65576bfb78 to before f9bb6ffa7f5ad0f8ee0f53fc4a10655872ee4a14Affected
LinuxLinux
  • 6.10Affected
  • before 6.10Not affected
  • 6.12.48 through 6.12.*Not affected
  • 6.16.8 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.