CVE-2025-39917
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 3e1c6f35409f9e447bf37f64840f5b65576bfb78 | affected | git | 0126358df12d6f476f79251d9c398ac5c1b3062d | Unavailable | None listed |
| 3e1c6f35409f9e447bf37f64840f5b65576bfb78 | affected | git | c4be24ef0510c146dca4671effb127e97631534b | Unavailable | None listed |
| 3e1c6f35409f9e447bf37f64840f5b65576bfb78 | affected | git | f9bb6ffa7f5ad0f8ee0f53fc4a10655872ee4a14 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.10 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.10 | Unavailable | None listed |
| 6.12.48 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.16.8 | unaffected | semver | Unavailable | 6.16.* | None listed |
| 6.17 | unaffected | original_commit_for_fix | Unavailable | * | None listed |