UBUNTU-CVE-2026-99232: Medium severity ubuntu/linux vulnerability
In the Linux kernel, the following vulnerability has been resolved: tracing/syscalls: Use copyfromuser for the faultable syscall buffer syscallcopyuserarray() copies the buffer argument of faultable syscalls (write, pwrite64, ...) with copyfromuser(), which skips accessok(). Use copyfromuser() instead so a non-user address is rejected and the entry is recorded as faulted. It could be a security concern for machines that trust perf a bit too much.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
Change syscall_copy_user_array() to use copy_from_user() instead of __copy_from_user(), so non-user addresses are rejected and the syscall entry is recorded as faulted.
Event History
Frequently Asked Questions
Which Ubuntu kernel packages are in scope?
The affected software list includes ubuntu/linux, ubuntu/linux-fips, ubuntu/linux-aws, ubuntu/linux-azure, ubuntu/linux-gcp, ubuntu/linux-oracle, ubuntu/linux-aws-fips, and ubuntu/linux-azure-fips.
What condition makes this a security concern?
The issue is described as a concern for machines that trust perf too much. It involves syscall tracing of faultable syscall buffers, including write and pwrite64, where a non-user address was not rejected by the copy operation.
How does the fix change affected tracing behavior?
The fix replaces __copy_from_user() with copy_from_user() in syscall_copy_user_array(). This performs access_ok() checking, rejects non-user addresses, and records the syscall entry as faulted.