← All control domains

Kernel build: 62 controls for Linux hardening

Pavois audits 62 controls in the Kernel build hardening domain, across 9 systems and 1 standard (ANSSI BP-028). Every control declares the evidence it gathers, its severity, its remediation and its standard references.

The domain in figures

Controls62
Severities
high 3medium 48low 11
Evidence gathered
effective runtime 62
Standards
ANSSI BP-028
Systems
Debian 12Debian 13FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8RHEL 9 / Rocky 9 / AlmaLinux 9Ubuntu 22.04Ubuntu 24.04Ubuntu 26.04
Coverage depthin depth

What does Pavois check in this domain?

effective runtime 62
Checked against the resolved running state (e.g. sshd -T, sysctl, systemctl show), catches drop-ins and Includes a file read would miss. Caveat: runtime ≠ persistence; a value correct now may not survive a reboot.

Which standards does this domain cover?

One effective-configuration check serves as evidence for several standards at once. The references below are the ones the corpus actually carries, never a claimed equivalence. how to read a standard mapping.

ANSSI BP-028
R15, R16, R17, R18, R19, R20, R21, R22, R23, R25, R27

The 62 controls of the Kernel build domain

RefRuleSev.OSStandards
SOCLE-CLD-KRN-040Do not allow usercopy whitelist violations to fallback to object sizehigh9
bp28
SOCLE-CLD-KRN-039Harden memory copies between kernel and userspacehigh9
bp28
SOCLE-CLD-KRN-056Remove the kernel mapping in user modehigh9
bp28
SOCLE-CLD-KRN-062Avoid speculative indirect branches in kernelmedium9
bp28
SOCLE-CLD-KRN-063Detect stack corruption on calls to schedule()medium9
bp28
SOCLE-CLD-KRN-024Disable compatibility with brk()medium9
bp28
SOCLE-CLD-KRN-041Disable hibernationmedium9
bp28
SOCLE-CLD-KRN-042Disable IA32 emulationmedium9
bp28
SOCLE-CLD-KRN-021Disable kernel support for MISC binariesmedium9
bp28
SOCLE-CLD-KRN-044Disable legacy (BSD) PTY supportmedium9
bp28
SOCLE-CLD-KRN-068Disable mutable hooksmedium9
bp28
SOCLE-CLD-KRN-048Disable the LDT (local descriptor table)medium9
bp28
SOCLE-CLD-KRN-047Disable vsyscall emulate execution onlymedium8
bp28
SOCLE-CLD-KRN-045Disable vsyscall emulationmedium9
bp28
SOCLE-CLD-KRN-046Disable vsyscall mappingmedium9
bp28
SOCLE-CLD-KRN-072Disallow merge of slab cachesmedium9
bp28
SOCLE-CLD-KRN-020Emulate Privileged Access Never (PAN)medium9
bp28
SOCLE-CLD-KRN-050Enable automatic signing of all modulesmedium9
bp28
SOCLE-CLD-KRN-066Enable different security modelsmedium9
bp28
SOCLE-CLD-KRN-049Enable module signature verificationmedium9
bp28
SOCLE-CLD-KRN-053Enable poison of pages after freeingmedium9
bp28
SOCLE-CLD-KRN-054Enable poison without sanity checkmedium1
bp28
SOCLE-CLD-KRN-064Enable seccomp to safely compute untrusted bytecodemedium9
bp28
SOCLE-CLD-KRN-073Enable SLUB debugging supportmedium9
bp28
SOCLE-CLD-KRN-022Enable support for BUG()medium9
bp28
SOCLE-CLD-KRN-078Enable TCP/IP syncookie supportmedium9
bp28
SOCLE-CLD-KRN-065Enable use of Berkeley Packet Filter with seccompmedium9
bp28
SOCLE-CLD-KRN-069Enable Yama supportmedium9
bp28
SOCLE-CLD-KRN-037Force initialization of variables containing userspace addressesmedium9
bp28
SOCLE-CLD-KRN-034Generate some entropy during boot and runtimemedium9
bp28
SOCLE-CLD-KRN-033Harden common str/mem functions against buffer overflowsmedium9
bp28
SOCLE-CLD-KRN-070Harden slab freelist metadatamedium9
bp28
SOCLE-CLD-KRN-057Kernel panic oopsmedium9
bp28
SOCLE-CLD-KRN-076Make the kernel text and rodata read-onlymedium9
bp28
SOCLE-CLD-KRN-077Make the module text and rodata read-onlymedium9
bp28
SOCLE-CLD-KRN-061Perform full reference count validationmedium9
bp28
SOCLE-CLD-KRN-036Poison kernel stack before returning from syscallsmedium8
bp28
SOCLE-CLD-KRN-035Randomize layout of sensitive kernel structuresmedium9
bp28
SOCLE-CLD-KRN-071Randomize slab freelistmedium9
bp28
SOCLE-CLD-KRN-059Randomize the address of the kernel image (KASLR)medium9
bp28
SOCLE-CLD-KRN-060Randomize the kernel memory sectionsmedium9
bp28
SOCLE-CLD-KRN-051Require modules to be validly signedmedium9
bp28
SOCLE-CLD-KRN-067Restrict unprivileged access to the kernel syslogmedium9
bp28
SOCLE-CLD-KRN-052Sign kernel modules with SHA-512medium9
bp28
SOCLE-CLD-KRN-074Stack Protector buffer overflow detectionmedium9
bp28
SOCLE-CLD-KRN-075Strong Stack Protectormedium9
bp28
SOCLE-CLD-KRN-079Unmap kernel when running in userspace (aka KAISER)medium9
bp28
SOCLE-CLD-KRN-055Use zero for poisoning instead of debugging valuemedium1
bp28
SOCLE-CLD-KRN-080User a virtually-mapped stackmedium9
bp28
SOCLE-CLD-KRN-031Warn on W+X mappings found at bootmedium9
bp28
SOCLE-CLD-KRN-038zero-init everything passed by referencemedium9
bp28
SOCLE-CLD-KRN-032Disable /dev/kmem virtual device supportlow9
bp28
SOCLE-CLD-KRN-043Disable kexec system calllow9
bp28
SOCLE-CLD-KRN-058Disable support for /proc/kcorelow9
bp28
SOCLE-CLD-KRN-025Disable the 32-bit vDSOlow9
bp28
SOCLE-CLD-KRN-081Disable x86 vsyscall emulationlow9
bp28
SOCLE-CLD-KRN-019Do not allow ACPI methods to be inserted/replaced at run timelow9
bp28
SOCLE-CLD-KRN-026Enable checks on credential managementlow4
bp28
SOCLE-CLD-KRN-028Enable checks on linked list manipulationlow9
bp28
SOCLE-CLD-KRN-029Enable checks on notifier call chainslow9
bp28
SOCLE-CLD-KRN-030Enable checks on scatter-gather (SG) table operationslow9
bp28
SOCLE-CLD-KRN-023Trigger a kernel BUG when data corruption is detectedlow9
bp28

Full control catalogue · All control domains