CVE-2026-90195
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
riscv, bpf: Fix missing sign-ext for signed 1-byte and 2-byte kfunc args
On RV64, the ABI requires sign-extension for signed 1-byte and 2-byte kfunc args. However, the RV64 JIT currently does not perform sign-extension for such kfunc args.
Before commit 7ce090afbf72 ("bpf: Infer zext_dst based on static register liveness analysis"), state pruning could potentially omit zero-extension of 32-bit subregisters, which inadvertently masked the above issue by making the args appear as if they had been properly sign-extended. After that commit, the problem is exposed, causing the kfunc_call/kfunc_call_test4 selftest to fail.
Fix this by extending the existing sign-extension logic to handle signed 1-byte and 2-byte kfunc args as well.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 443574b033876c85a35de4c65c14f7fe092222b2 < 555fc6f1caf00ce7005e732b688da26c0dc3c5c5 | affected |
| Linux | Linux | 443574b033876c85a35de4c65c14f7fe092222b2 < 801ae90f8ce099187e6224cec7d72d07a4df0324 | affected |
| Linux | Linux | 443574b033876c85a35de4c65c14f7fe092222b2 < 71dbd143be598954ae103feadd12692aeb0f2f88 | affected |
| Linux | Linux | 443574b033876c85a35de4c65c14f7fe092222b2 < f2aaa621591093cfe8224a25ef2f04a3b1e304b0 | affected |
| Linux | Linux | 6.9 | affected |
| Linux | Linux | 0 < 6.9 | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.52 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.6 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/555fc6f1caf00ce7005e732b688da26c0dc3c5c5
- https://git.kernel.org/stable/c/801ae90f8ce099187e6224cec7d72d07a4df0324
- https://git.kernel.org/stable/c/71dbd143be598954ae103feadd12692aeb0f2f88
- https://git.kernel.org/stable/c/f2aaa621591093cfe8224a25ef2f04a3b1e304b0
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.