Commit Graph

113 Commits

Author SHA1 Message Date
artmetla 9e37f29c68 Update rules.md (#329) 2026-02-06 15:55:32 +01:00
Tamas Koczka 7f68f7f1b8 kernelCTF: add explicit note about the 10% stability requirement 2026-01-07 12:45:19 +00:00
Tamas Koczka d6396d2cda kernelCTF: fix mitigation-6.1-v2 handling issue 2026-01-07 12:17:18 +00:00
Matteo Rizzo d57309a820 kernelCTF: server: update to latest version 2025-12-18 15:41:47 +00:00
artmetla 7297a9e637 Submission Verification logic for Android submissions (#289)
1) Disabled AppArmor block for unpriviledged user namespaces. This hapend in ubuntu-latest: https://discourse.ubuntu.com/t/understanding-apparmor-user-namespace-restriction/58007. Added this step to "get_android_dependencies.sh".
2) Using "get_android_dependencies.sh" script to handle dependencies for all execution options: server.py, exploit build, and exploit_reproduction.
3) Optimised exploit reproduction run time, by downloading releases and installing dependencies in parallel. 
4) Conducted clean up to free up a bit of extra space for Cuttlefish runs (cleaning compilation leftovers and APT caches).
5) Using "cuttlefish.sh" to run VM in all execution options: server.py and GHA reproducer. Modified "cuttlefish.sh" to add "--test-mode" which allows easy testing by setting "falg" file permissions equivalent to exploit executable. It's disabled in prod. Improved Android16 detection logic (to enable necessary execution flags for "launch_cvd"), as apparently "launch_cvd --help" could fail sometimes. Improved cleaning logic (important as launch_cvd is super nasty and lefts a lot of tmps and random leftovers which could negatively impact next run of the VM)
6) Apparently in ubuntu-latest "sg -c" requires password. So implemented this logic canonical/data-platform-workflows@349e0c8. This is important as Cuttlefish couldn't run without user being added in groups. By default they suggest reboot to apply those changes, but it's impossible in GHA.
7) "Check PR content" logic is already updated in prod
8) Ensured that in exploit build environment NDK is added to the PATH, so simple Makefiles like:
```
exploit: exploit.c
clang --target=x86_64-linux-android35 -static $^ -o exploit
```
The whole thing was tested with dummy exploit in my fork.
9) Implemented proper timeout check (30 mins) in "cuttlefish.sh"
10) Introduced sparse-checkout for the GHA.
2025-12-04 15:21:19 +01:00
artmetla 8947e3d1e4 Update check-submission.py to handle Android folders 2025-11-27 17:15:29 +01:00
artmetla 63b9e94c82 Update metadata.schema.v3.json 2025-11-27 16:23:43 +01:00
artmetla 4d212a9a5b Update regular expression in metadata.schema.v3.json to add Android releases support 2025-11-27 16:23:07 +01:00
Artem Metla ea8b117f6e kernelCTF: server: upload Android related scripts and APK source code 2025-11-27 13:50:34 +01:00
artmetla b706f60a9b Improve kernelCTF auto releaser to handle Android releases (#284)
- The auto-releaser would wok in a following logic:
   1. Access https://androidbuildinternal.googleapis.com/android/internal/build/v3/builds?branches=aosp-android-latest-release&buildAttemptStatus=complete&buildType=submitted&maxResults=1&successful=true&target=aosp_cf_x86_64_only_phone-userdebug to get an information about latest Android build available in JSON format. 
   2. We take the build number and using fetch_artifact (https://android.googlesource.com/tools/fetch_artifact/) attempt to download "kernel_version.txt" artefact from Android build to get all the necessary build details. 
   3. Using build details check if kernelCTF GCS bucket contains already the release. If not add it to releases that should be processed by kernelctf-release-build action.
- The logic of kernelctf-release-build action updated to handle new naming style of Android releases.
2025-11-27 13:31:33 +01:00
Tamás Koczka a1a0b27123 kernelCTF: Update FAQ how to build kernelCTF releases
Added new FAQ entries regarding bounty payments and kernelCTF target rebuilding.
2025-11-25 17:12:39 +01:00
Tamás Koczka 7c3d42660a kernelCTF: Clarify condition for patch landing in rules (#283)
* kernelCTF: Clarify condition for patch landing in rules

* kernelCTF: Clarify wording in rules for 0-day submissions
2025-11-24 15:04:00 +01:00
artmetla 9fa781e0d9 Update releases.yaml 2025-11-10 15:00:07 +01:00
Artem Metla 8cf454374e kernelCTF: server: update to latest version 2025-11-06 18:05:44 +01:00
Artem Metla 49c9e8266b kernelCTF: server: update to latest version 2025-11-03 15:08:44 +01:00
artmetla 506ea1564b Update build_release.sh to add Mitigation v4-6.12 target (#271)
* Update build_release.sh

* Update build_release.sh
2025-10-29 16:00:52 +01:00
Matteo Rizzo 6f1a39f5fe kernelCTF: server: update to latest version 2025-10-24 09:18:20 +00:00
Tamas Koczka 6d477d73cf kernelCTF: rules: add note about kernelXDK being preinstalled 2025-10-22 19:32:43 +00:00
Tamas Koczka e4eade7d24 kernelCTF: rules: add kernelXDK requirement 2025-10-22 17:53:26 +00:00
Tamas Koczka 24880bbeba kernelCTF: enable bpf_jit_harden in repro 2025-09-27 10:34:03 +00:00
Tamas Koczka 49be6fb8cb kernelCTF: server: update to latest version 2025-09-12 10:25:28 +00:00
Tamas Koczka 42ae281bdd kernelCTF: server: update to latest version 2025-09-11 14:04:19 +00:00
Artem Metla 34642f399e kernelCTF: server: update to latest version 2025-08-15 15:35:01 +02:00
artmetla ccd68441e2 Update rules.md
Update rules.md to point to the right config
2025-08-12 16:37:37 +02:00
Artem Metla bc8a627ae2 kernelCTF: server: update to latest version 2025-07-18 14:16:26 +02:00
artmetla 8c53ec0b68 Update check-submission.py 2025-07-17 17:06:45 +02:00
artmetla 379d690d10 Accept novelty-only deprecated submissions (#225)
Enable acceptance of v1 and v2 kernelCTF flags for novelty only submissions
2025-07-17 15:22:04 +02:00
artmetla 66053d865b Update rules.md to clearly document rules changes announcements approach (#221) 2025-07-09 17:12:10 +02:00
Tamás Koczka 8abaf104de kernelCTF: update rules: clarify novelty bonus payout after splitting reward payout process 2025-07-09 13:52:49 +02:00
artmetla c7f07d92c0 Create lts-6.12.config 2025-07-08 11:58:56 +02:00
artmetla 1a9f4de58f Update build_release.sh 2025-07-08 11:52:56 +02:00
artmetla b1170c66c1 Update get_latest_kernel_versions.py 2025-07-08 11:29:25 +02:00
Matteo Rizzo 804f085e04 kernelCTF: server: update to latest version 2025-07-04 12:50:39 +00:00
Artem Metla 454c3f2e06 kernelCTF: server: update to latest version 2025-06-20 12:53:04 +02:00
Matteo Rizzo 5df5015386 kernelCTF: server: update to latest version 2025-06-06 12:54:59 +00:00
Tamás Koczka b79b6257a9 kernelCTF: rules: add note about BugCrowd 2025-06-03 21:02:54 +02:00
Tamas Koczka 2f4a5cd8dd kernelCTF: server: remove PoW permanently 2025-06-02 12:58:45 +00:00
Tamas Koczka 90cc1d1fe4 kernelCTF: server: disable proof-of-work, update releases 2025-05-28 20:17:22 +00:00
Tamás Koczka 127a675781 kernelCTF: rules: different note format 2025-05-28 22:11:16 +02:00
Tamás Koczka d9d96ef5b1 kernelCTF: rules: add note about the validity date of the new rules 2025-05-28 22:08:53 +02:00
Tamas Koczka 7171625f57 kernelCTF: rules: July 1 program changes 2025-05-28 20:05:07 +00:00
Jordy Zomer 588031ba10 Update init.sh
Add `lo` interface so the repro instance is coherent with the live isntance.
2025-04-11 16:13:12 +02:00
Tamas Koczka bf0d68f3ce kernelCTF: style guide: further smaller fixes 2025-03-13 15:39:43 +00:00
Tamas Koczka c60a0c6027 kernelCTF: add draft style guide 2025-03-13 15:24:20 +00:00
Tamas Koczka f04a330360 kernelCTF: server: update to latest version 2025-03-05 11:49:10 +00:00
Tamas Koczka f4578448f9 kernelCTF: server: update to latest version 2025-02-27 15:15:15 +00:00
Tamas Koczka 5c48594330 kernelCTF: server: update to latest version 2025-02-14 17:30:39 +00:00
Tamas Koczka 908d59b573 kernelCTF: server: update to latest version 2025-02-06 17:58:13 +00:00
Tamás Koczka 3e1d549acb kernelCTF: rules: add warnings about checking for slot dupes 2025-01-17 13:08:54 +01:00
Tamas Koczka b4501cfb6f kernelCTF: server: update to latest version 2025-01-14 15:37:57 +00:00