UBUNTU-CVE-2026-90359: Low severity ubuntu/linux-hwe-edge vulnerability
In the Linux kernel, the following vulnerability has been resolved: bpf: Reject >8 byte return values on return-reading trampoline paths btfdistillfuncproto() builds the function model used for the fentry/fexit/fmodret/fsession trampolines and structops. It has accepted a 16-byte int128 return value since the trampoline was introduced: gettypesize() returns the integer's type size, and the return-type check only rejected ret < 0. But the BPF trampoline preserves only 8 bytes of the return value (RAX on x86, i.e. R0). For an attach type that reads the target's return value the second half (RDX / R3) is neither saved nor restored, so a program attached to a function returning a 16-byte value corrupts the value seen by the real caller and itself observes only half of it. structops trampolines have the same limitation. This affects the attach types that read the target's return value: fexit, fmodret and fsession (plus the multi variants of fexit and fsession), and structops. fentry/fentrymulti run before the target returns and are unaffected. Reject a >8 byte return value for these attach types in bpfcheckattachtarget() and bpfcheckattachbtfidmulti(), and for structops in bpfstructopsdescinit().
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1
Event History
Frequently Asked Questions
Which BPF attachment types are affected?
The affected return-reading attachment types are fexit, fmod_ret, fsession, the fexit_multi and fsession_multi variants, and struct_ops. fentry and fentry_multi are not affected because they run before the target function returns.
What conditions are required for the issue to occur?
A BPF program must be attached through an affected attachment type to a target function whose return value is larger than 8 bytes, such as a 16-byte __int128 return value. The trampoline retains only 8 bytes, causing the caller's return value to be corrupted and the BPF program to observe only part of it.
Who is realistically exposed?
Systems running one of the listed Ubuntu kernel packages are exposed where highly privileged users can load and attach BPF programs using the affected trampoline paths. The supplied vector indicates local access, high privileges, and no user interaction are required.