CVE-2026-68458

CVE-2026-68458

High · published August 15, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.2
In the wild
Unconfirmed
What it is

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

binder: cache secctx size before release zeroes it

binder_transaction() bounds the scatter-gather buffer area with

sg_buf_end_offset and subtracts the aligned LSM context size because

the secctx is written at the tail of that area. The subtraction reads

lsmctx.len, but that field has already been cleared by the time the

line runs:

security_secid_to_secctx(secid, &lsmctx) /* lsmctx.len set */

lsmctx_aligned_size = ALIGN(lsmctx.len, sizeof(u64))

extra_buffers_size += lsmctx_aligned_size

...

security_release_secctx(&lsmctx) /* memset zeroes len */

...

sg_buf_end_offset = sg_buf_offset + extra_buffers_size

- ALIGN(lsmctx.len, sizeof(u64)) /* ALIGN(0,8) */

security_release_secctx() does memset(cp, 0, sizeof(*cp)), so lsmctx.len

reads back as 0 and the subtraction contributes nothing, leaving

sg_buf_end_offset too large by the aligned secctx size on every

transaction to a txn_security_ctx node.

Each BINDER_TYPE_PTR object then derives buf_left = sg_buf_end_offset -

sg_buf_offset as the sole upper bound on its copy, so the inflated end

offset lets the copy run into the bytes that already hold the secctx.

The aligned size must therefore be cached before release rather than

re-read from the now-cleared field. Fix by caching it in

lsmctx_aligned_size at function scope when it is first computed and

subtracting lsmctx_aligned_size instead of re-reading lsmctx.len after

release. Reuse the same value for the earlier buf_offset computation.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00127 · 2.2th percentile
Published
2026-08-15T10:18Z
References (3)
EPSS history
Timeline
  • 15 AUG 05:51Z
    binder: cache secctx size before release zeroes it
    cvelistv5