In 2020, we built-in kCTF into Google’s Vulnerability Rewards Program (VRP) to assist researchers evaluating the safety of Google Kubernetes Engine (GKE) and the underlying Linux kernel. Because the Linux kernel is a key part not only for Google, however for the Web, we began closely investing on this space. We prolonged the VRP’s scope and most reward in 2021 (to $50k), then once more in February 2022 (to $91k), and eventually in August 2022 (to $133k). In 2022, we additionally summarized our learnings so far in our cookbook, and launched our experimental mitigations for the commonest exploitation strategies.
On this publish, we might prefer to share our learnings and statistics concerning the newest Linux kernel exploit submissions, how efficient our mitigations are in opposition to them, what we do to guard our customers, and, lastly, how we’re altering our program to align incentives to the areas we’re most all for.
Learnings and Statistics
Since its inception, this system has rewarded researchers with a complete of 1.8 million USD, and prior to now yr, there was a transparent development: 60% of the submissions exploited the io_uring part of the Linux kernel (we paid out round 1 million USD for io_uring alone). Moreover, io_uring vulnerabilities had been utilized in all of the submissions which bypassed our mitigations.
Limiting io_uring
To guard our customers, we determined to restrict the utilization of io_uring in Google merchandise:
Whereas io_uring brings efficiency advantages, and promptly reacts to safety points with complete safety fixes (like backporting the 5.15 model to the 5.10 secure tree), it’s a pretty new a part of the kernel. As such, io_uring continues to be actively developed, however it’s nonetheless affected by extreme vulnerabilities and in addition supplies sturdy exploitation primitives. For these causes, we at present think about it protected just for use by trusted elements.
Transparency
At the moment, we make vulnerability particulars public on our spreadsheet (which now additionally contains CVE particulars), and we have now summarized totally different exploitation strategies in our cookbook. Sooner or later, to make our efforts extra clear and provides quicker suggestions to the neighborhood, we’ll ask researchers to open-source their submissions, together with the code they used.
Introducing kernelCTF
To higher align incentives with our areas of curiosity, we’re shifting our focus from GKE and kCTF to the most recent secure kernel and our mitigations. Because of this, beginning immediately we’ll deal with kernel exploit submissions below a brand new identify, “kernelCTF,” with its personal reward construction and submission course of. The utmost complete payout for kernelCTF remains to be $133,337 per submission. Whereas the particular GKE kernel configuration remains to be coated by the brand new kernelCTF, exploits affecting non-kernel elements like the complete GKE stack (together with Kubernetes), the container runtime, and GKE itself, at the moment are individually eligible for vulnerability rewards below the kCTF VRP which is returning to its authentic reward quantities and situations.
Conclusion
Our aim stays the identical: we’re constructing a pipeline to investigate, experiment, measure, and construct safety mitigations to make the Linux kernel as protected as doable, with the assistance of the safety neighborhood. We hope that over time, we can implement safety mitigations that make it harder to use Linux kernel vulnerabilities.
With the identify change, we have now moved our communication channel to #kernelctf on Discord, with a separate #kernelctf-announcements channel. Please be a part of us there for the most recent updates relating to kernelCTF.