Skip to content

Configure kernel to zero out memory before allocation in zIPL

An XCCDF Rule

Description

To ensure that the kernel is configured to zero out memory before allocation, check that all boot entries in /boot/loader/entries/*.conf have init_on_alloc=1 included in its options.
To ensure that new kernels and boot entries continue to zero out memory before allocation, add init_on_alloc=1 to /etc/kernel/cmdline.

Rationale

When the kernel configuration option init_on_alloc is enabled, all page allocator and slab allocator memory will be zeroed when allocated, eliminating many kinds of "uninitialized heap memory" flaws, effectively preventing data leaks.

ID
xccdf_org.ssgproject.content_rule_zipl_init_on_alloc_argument
Severity
Medium
References
Updated



Remediation - Ansible

- name: Ensure BLS boot entries options contain init_on_alloc=1
  block:

  - name: 'Check how many boot entries exist '
    find:
      paths: /boot/loader/entries/

Remediation - Shell Script

# Remediation is applicable only in certain platforms
if grep -q s390x /proc/sys/kernel/osrelease && { [ ! -f /.dockerenv ] && [ ! -f /run/.containerenv ]; }; then

# Correct BLS option using grubby, which is a thin wrapper around BLS operations
grubby --update-kernel=ALL --args="init_on_alloc=1"