Hardening matrix for kernel 6.18.9

Measured checker scores and runtime for the fielded 6.18.9-hs #37 pin, with era-matched Arch 6.18.16 and vanilla 6.18.9 defconfig.

Subject: Root Lock by HeartSuite, fielded 6.18.9-hs (packaging 6.18.9-HeartSuite-3, build #37)
uname -r: 6.18.9-hs
Config SHA-256 (pin payload): 3cd1824742b9a15e9467c774c5f62081f9547f730ad7cd9bce464a7d286a7db9
vmlinuz SHA-256: 1b44fffb9b570497f19f4c68e170602b542bc84bfe9f49d936c123dc59f5db8a
Tool: kernel-hardening-checker commit e870d0141259f875d3d1b54fef49dec7074e4cac, run 2026-08-18
Source file: evidence-pack-6.18.9.txt
Legacy (published): Hardening scores: 5.19.6, evidence-pack-5.19.6.txt

This page measures the fielded #37 pin. It is not a derived unpublished cut. CONFIG_IO_URING, CONFIG_KEXEC, and CONFIG_KEXEC_FILE are =y. Guest /boot/config-6.18.9-hs is an 11-line RD stub — hash the pin payload config.


Part 1 — Measured comparison

Arch linux-hardened 6.18.16-hardened1 and vanilla 6.18.9 defconfig are era-matched 6.18.x (no 6.18.9-hardened in the Arch archive).

ConfigSourceKernelOverallAttack-surfaceExploit-resistance
HS 6.18.9-hs #37Pin payload config (SHA 3cd18247…)6.18.9148/259 (57.1%)57/131 (43.5%)78/110 (70.9%)
Arch linux-hardened 6.18.16Packaging tag 6.18.16.hardened1-1 config.x86_646.18.16-hardened1181/259 (69.9%)76/131 (58.0%)92/110 (83.6%)
Vanilla x86_64 defconfigmake ARCH=x86_64 defconfig on linux-6.18.96.18.9153/259 (59.1%)88/131 (67.2%)56/110 (50.9%)

Reading the table

  • Attack-surface = dangerous features disabled. Higher = more things off.
  • Exploit-resistance = defensive mitigations against memory bugs. Higher = harder to exploit.
  • These axes are largely independent.
  • Do not compare these percentages to the 5.19.6 pack (checker b9b83a0, 132 / 109 item denominators).

What this shows

HS 6.18.9-hs does not lead attack-surface (43.5% vs era-matched Arch 58.0% and vanilla 6.18.9 defconfig 67.2%). Bypass primitives that 5.19.6 compiled out are on here.

HS 6.18.9-hs does sit above vanilla 6.18.9 defconfig on exploit-resistance (70.9% vs 50.9%) and below era-matched Arch 6.18.16 hardened (83.6%).

Bypass-primitive options — measured

OptionHS 6.18.9-hs #37HS 5.19.6 (published pack)
CONFIG_BPF_SYSCALL=y=n
CONFIG_IO_URING=y=y
CONFIG_FUSE_FS=y=n
CONFIG_OVERLAY_FS=m=n
CONFIG_SECURITY_APPARMOR=y=n
CONFIG_SECURITY_TOMOYO=y=n
CONFIG_KEXEC=y=y
CONFIG_KEXEC_FILE=y=n
CONFIG_USER_NS=y=n
CONFIG_MODULE_SIG=y=n
CONFIG_MODULE_SIG_FORCE=n=n

Exploit-resistance mitigations — measured

MitigationHS 6.18.9-hs #37Arch lh 6.18.16
INIT_ON_ALLOC_DEFAULT_ON=y=y
INIT_ON_FREE_DEFAULT_ON=n=y
HARDENED_USERCOPY=y=y
FORTIFY_SOURCE=y=y
SLAB_FREELIST_RANDOM=y=y
KFENCE=y (sample interval 0)=y
RANDSTRUCT_FULLnot foundnot compared here
KSTACK_ERASEnot found=y
MODULE_SIG / MODULE_SIG_FORCE=y / =n=y / =n

Part 2 — Qualitative orientation (cross-project)

ProjectBypass preventionExploit resistanceModule footprintAvailabilityPrimary use case
HeartSuite 6.18.9-hs #37Low–moderate — BPF/FUSE/OVERLAY/AppArmor/TOMOYO/USER_NS/IO_URING/KEXEC present (measured)Moderate–high — 70.9% self_protection (measured)74 loaded / 4190 .ko.xz (Debian 12 guest)CommercialContainment via allowlist + Lockdown on a general-purpose 6.18 config
HeartSuite 5.19.6Very high compile-out (measured)Low — vanilla baseline0 loaded / 9 .koCommercial (legacy)Same product contract; different kernel config
Arch linux-hardened 6.18.16ModerateHigh (83.6% ER)HundredsFreeGeneral-purpose hardened desktop/server
grsecurity / PaXHighVery highLargePaidMaximum exploit resistance
CLIP OS (ANSSI)HighHigh~400Public (archived)Government platform
KSPP recommended x86-64High (intent)Very high (intent)N/APublicIndustry benchmark

Part 3 — LSM stack and module count (measured)

MetricHS 6.18.9-hs #37Source
Modules loaded at runtime74Debian 12 guest, 2026-08-18
Loadable .ko.xz shipped4190/lib/modules/6.18.9-hs
modules.builtin entries198same guest
SELinux fsabsent (no /sys/fs/selinux)runtime
/sys/kernel/security/lsmlockdown,capability,landlock,yama,apparmor,tomoyo,bpf,ipe,ima,evmruntime
Root Lock activationdmesg t+4s, monitor ONruntime
Alt-LSMs in configYAMA, LANDLOCK, LOCKDOWN_LSM, IMA, EVM, APPARMOR, TOMOYO all =ypin grep

Part 4 — CPU mitigations (6.18 naming)

Mitigation6.18.x optionHS 6.18.9-hs #37
Spectre v1CONFIG_MITIGATION_SPECTRE_V1=y (checker OK)
Spectre v2CONFIG_MITIGATION_SPECTRE_V2=y (checker OK)
RetbleedCONFIG_MITIGATION_RETBLEED=y (checker OK)

Summary

DimensionHS 6.18.9-hs #37HS 5.19.6 (legacy pack)Arch lh 6.18.16
Overall checker57.1%50.0%†69.9%
Attack-surface43.5%68.9%58.0%
Exploit-resistance70.9%28.4%†83.6%
BPF / FUSE / USER_NS / AppArmor offNoYesNo
IO_URING / KEXEC offNoNoKEXEC off on Arch row
Runtime modules loaded740Not measured
Config SHA-256 publishedYes (3cd18247…)Yes (d67caa6…)Bundled

† Different checker commit and item counts — directional only.

For the 5.19.6 dataset see Hardening scores: 5.19.6. Raw 6.18 notes: evidence-pack-6.18.9.txt. Publication status: Evidence Status.