riscv, bpf: Fix missing sign-ext for signed 1-byte and 2-byte kfunc args
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.110, 6.18.52, 7.2.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 443574b033876c85a35de4c65c14f7fe092222b2 · fixed in 555fc6f1caf00ce7005e732b688da26c0dc3c5c5; From 443574b033876c85a35de4c65c14f7fe092222b2 · fixed in 801ae90f8ce099187e6224cec7d72d07a4df0324; From 443574b033876c85a35de4c65c14f7fe092222b2 · fixed in 71dbd143be598954ae103feadd12692aeb0f2f88; From 443574b033876c85a35de4c65c14f7fe092222b2 · fixed in f2aaa621591093cfe8224a25ef2f04a3b1e304b0
- Linux Linux
6.9
- KernelLinux
From 6.9.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6