Skip to content

Commit 7632e69

Browse files
committed
kernelCTF: add new releases and nftables changes to the rules and config
1 parent f1cdc12 commit 7632e69

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

kernelctf/build_release.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ case $TARGET in
1717
lts)
1818
REPO="https://github.com/gregkh/linux"
1919
DEFAULT_BRANCH="v${VERSION}"
20-
CONFIG_FN="lts.config"
20+
case $VERSION in
21+
6.6.*) CONFIG_FN="lts-6.6.config" ;;
22+
6.1.*) CONFIG_FN="lts-6.1.config" ;;
23+
esac
24+
if [ -z "$CONFIG_FN" ]; then echo "Failed to select config (VERSION=$VERSION)"; exit 1; fi
2125
;;
2226
cos)
2327
REPO="https://cos.googlesource.com/third_party/kernel"
@@ -44,6 +48,7 @@ if [ -z "$BRANCH" ]; then usage; fi
4448

4549
echo "REPO=$REPO"
4650
echo "BRANCH=$BRANCH"
51+
echo "CONFIG_FN=$CONFIG_FN"
4752

4853
BASEDIR=`pwd`
4954
BUILD_DIR="$BASEDIR/builds/$RELEASE_NAME"
File renamed without changes.
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# CONFIG_IO_URING is not set
2+
# CONFIG_NF_TABLES is not set
3+
CONFIG_SYSTEM_TRUSTED_KEYS=""

kernelctf/rules.md

+10-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ A submission can contain any number of the following 4 parts:
1212

1313
### 1. Exploit for the latest LTS instance
1414

15-
This instance uses the latest LTS (currently 6.1) with [COS kernel config](https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-6.1/arch/x86/configs/lakitu_defconfig), but with `io_uring` disabled. Only the first submission is eligible per LTS kernel version, but we are upgrading the kernel version every 2-4 weeks on average.
15+
This instance uses the latest LTS (currently 6.1, soon 6.6) with [COS kernel config](https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-6.1/arch/x86/configs/lakitu_defconfig), but with `io_uring` and `nftables` (for 6.6) [disabled](https://github.com/google/security-research/blob/master/kernelctf/kernel_configs/lts-6.6.config). Only the first submission is eligible per LTS kernel version, but we are upgrading the kernel version every 2-4 weeks on average.
1616

1717
#### Rewards
1818

@@ -46,13 +46,15 @@ Only exploits which clearly bypass [our mitigations](https://github.com/thejh/li
4646

4747
As the current instance (`mitigation-v3-6.1.55`) uses the `CONFIG_RANDOM_KMALLOC_CACHES` probabilistic memory allocator hardening, only exploits with at least 70% reliability are eligible (checked the same way as the LTS stability bonus).
4848

49+
See the [source code](https://github.com/thejh/linux/tree/c64d47f3a86262fb0e4e43108daf785d875b0f7e) and the [extra kernel hardenings](https://github.com/google/security-research/blob/master/kernelctf/kernel_configs/mitigation-v3-full.config) turned on.
50+
4951
#### Reward
5052

5153
* $21.000
5254

5355
### 3. Exploits for COS instances
5456

55-
These instances follow the live COS kernel config (which is also used in GKE), with the necessary modifications to make it work in our infrastructure. `io_uring` is enabled here.
57+
These instances follow the live COS kernel config (which is also used in GKE), with the necessary modifications to make it work in our infrastructure. `io_uring` and `nftables` are enabled here.
5658

5759
Only the first submission is eligible per COS version unless it is part of a valid 0-day LTS submission. New COS versions are released every few weeks on average.
5860

@@ -64,7 +66,7 @@ Only the first submission is eligible per COS version unless it is part of a val
6466

6567
* This reward is based on whether the exploit works on GKE AutoPilot or not. AutoPilot currently does not enable unprivileged user namespaces and they are also considering disabling io\_uring.
6668

67-
* Currently, there are two instances available, with kernel versions 5.10 and 5.15 respectively. The reward is the same regardless of which instance was exploited (the reward is not doubled if both were exploited).
69+
* Currently, there are two instances (COS 97 and COS 105) available, with kernel versions 5.10 and 5.15 respectively (soon we will switch to COS 105 and COS 109 - 5.15 & 6.1). The reward is the same regardless of which instance was exploited (the reward is not doubled if both were exploited).
6870

6971
* We may change the number of instances or their kernel versions, but will announce this at least 1 month in advance (via [#kernelctf-announcements](https://discord.gg/AjGJ3acF2e)).
7072

@@ -111,7 +113,11 @@ If the same vulnerability is fixed in multiple patch commits (e.g. in commit A i
111113

112114
The "novel techniques" category is an exception from these rules, as in that category we are rewarding the technique, so you can target already exploited vulnerabilities.
113115

116+
If you are unsure about eligibility, contact us on the [#kernelctf Discord channel](https://discord.gg/A3qZcyaZ69) before making the submission.
117+
114118
### Vulnerabilities used in kCTF VRP
119+
<details>
120+
<summary>This should not be relevant anymore, but click here to expand.</summary>
115121

116122
1. If a vulnerability was exploited against any target in kCTF VRP then it's not eligible against kernelCTF's LTS target.
117123

@@ -124,8 +130,7 @@ The "novel techniques" category is an exception from these rules, as in that cat
124130
3. If a vulnerability was exploited against kCTF VRP's mitigation target then it's not eligible against kernelCTF's mitigation target.
125131

126132
* If a vulnerability was exploited against a mitigation target then the "kCTF VRP" tab of the [public spreadsheet](https://docs.google.com/spreadsheets/d/e/2PACX-1vS1REdTA29OJftst8xN5B5x8iIUcxuK6bXdzF8G1UXCmRtoNsoQ9MbebdRdFnj6qZ0Yd7LwQfvYC2oF/pubhtml) contains a flag which contains the `mitigation` substring.
127-
128-
If you are unsure about eligibility, contact us on the [#kernelctf Discord channel](https://discord.gg/A3qZcyaZ69) before making the submission.
133+
</details>
129134

130135
# Submission process
131136

0 commit comments

Comments
 (0)