Mitigating Linux verifier bugs using Prevail? #824
Replies: 1 comment
-
Hmm, thinking about it, I might have found a very simple construction that allows you to combine two separate exploits (
Both (inlined) subprograms For the Linux kernel, the program appears as:
For PREVAIL, this would appear as
However, when executed by the CPU the following happens:
For example, For PREVAIL, it is likely not impossible that a instruction sequence that could act as |
Beta Was this translation helpful? Give feedback.
-
I am sure you are aware that the Linux kernel verifier has repeatedly suffered from bugs that allowed eBPF programs to break out of their sandbox. Would it be possible to mitigate those by doing a second (normally redundant) verification in userspace (e.g., using Prevail)?
Idea would be that even if the Linux verifier has a bug that allows a certain (malicious) pattern in eBPF bytecode, Prevail is very unlikely to have the same bug. Therefore the program would still be rejected by the system.
I so far looked into CVE-2017-16995 (NUS-Curiosity/KernJC#6) and Prevail (as expected) does not appear to be vulnerable.
Beta Was this translation helpful? Give feedback.
All reactions