{"description": "To enable Kernel page-table isolation,\nadd the argument <tt>pti=on</tt> to the default\nGRUB 2 command line for the Linux operating system.\nTo ensure that <tt>pti=on</tt> is added as a kernel command line\nargument to newly installed kernels, add <tt>pti=on</tt> to the\ndefault Grub2 command line for Linux operating systems. Modify the line within\n<tt>/etc/default/grub</tt> as shown below:\n<pre>GRUB_CMDLINE_LINUX=\"... pti=on ...\"</pre>\nRun the following command to update command line for already installed kernels:<pre># update-grub</pre>", "rationale": "Kernel page-table isolation is a kernel feature that mitigates\nthe Meltdown security vulnerability and hardens the kernel\nagainst attempts to bypass kernel address space layout\nrandomization (KASLR).", "severity": "low", "references": {"nist": ["SI-16"], "srg": ["SRG-OS-000433-GPOS-00193", "SRG-OS-000095-GPOS-00049"], "anssi": ["R8"]}, "control_references": {"anssi": ["R8"]}, "components": [], "identifiers": {}, "ocil_clause": "Kernel page-table isolation is not enabled", "ocil": "Inspect the form of default GRUB 2 command line for the Linux operating system\nin <tt>/etc/default/grub</tt>. If it includes <tt>pti=on</tt>,\nthen the parameter will be configured for newly installed kernels.\nFirst check if the GRUB recovery is enabled:\n<pre>$ sudo grep 'GRUB_DISABLE_RECOVERY' /etc/default/grub</pre>\nIf this option is set to true, then check that a line is output by the following command:\n<pre>$ sudo grep 'GRUB_CMDLINE_LINUX_DEFAULT.*pti=on.*' /etc/default/grub</pre>\nIf the recovery is disabled, check the line with\n<pre>$ sudo grep 'GRUB_CMDLINE_LINUX.*pti=on.*' /etc/default/grub</pre>.Moreover, current Grub config file <tt>grub.cfg</tt> must be checked. The file can be found\neither in <tt>/boot/grub</tt> in case of legacy BIOS systems, or in <tt>/boot/grub</tt> in case of UEFI systems.\nIf they include <tt>pti=on</tt>, then the parameter\nis configured at boot time.\n<pre>$ sudo grep vmlinuz GRUB_CFG_FILE_PATH | grep -v 'pti=on'</pre>\nFill in <tt>GRUB_CFG_FILE_PATH</tt> based on information above.\nThis command should not return any output.", "oval_external_content": null, "fixtext": "To ensure that <tt>pti=on</tt> is added as a kernel command line\nargument to newly installed kernels, add <tt>pti=on</tt> to the\ndefault Grub2 command line for Linux operating systems. Modify the line within\n<tt>/etc/default/grub</tt> as shown below:\n<pre>GRUB_CMDLINE_LINUX=\"... pti=on ...\"</pre>\nRun the following command to update command line for already installed kernels:<pre># update-grub</pre>", "checktext": "", "vuldiscussion": "", "srg_requirement": "Ubuntu 22.04 must enable mitigations against processor-based vulnerabilities.", "warnings": [], "conflicts": [], "requires": [], "policy_specific_content": {"stig": {"srg_requirement": "Ubuntu 22.04 must enable mitigations against processor-based vulnerabilities.", "vuldiscussion": "Kernel page-table isolation is a kernel feature that mitigates the Meltdown security vulnerability and hardens the kernel against attempts to bypass kernel address space layout randomization (KASLR).", "checktext": "Verify Ubuntu 22.04 enables kernel page-table isolation with the following command:\n\n$ sudo grubby --info=ALL | grep args | grep -v 'pti=on'\n\nIf any output is returned, this is a finding.\n\nCheck that kernel page-table isolation is enabled by default to persist in kernel updates:\n\n$ grep pti /etc/default/grub\n\nGRUB_CMDLINE_LINUX=\"pti=on\"\n\nIf \"pti\" is not set to \"on\", is missing or commented out, this is a finding.", "fixtext": "Configure Ubuntu 22.04 to enable kernel page-table isolation with the following command:\n\n$ sudo grubby --update-kernel=ALL --args=\"pti=on\"\n\nAdd or modify the following line in \"/etc/default/grub\" to ensure the configuration survives kernel updates:\n\nGRUB_CMDLINE_LINUX=\"pti=on\""}}, "platform": null, "platforms": [], "sce_metadata": {}, "inherited_platforms": ["grub2 and system_with_kernel"], "cpe_platform_names": [], "inherited_cpe_platform_names": ["grub2_and_system_with_kernel"], "bash_conditional": null, "fixes": {}, "title": "Enable Kernel Page-Table Isolation (KPTI)", "definition_location": "/aptdata/openscap/scap-security-guide/linux_os/guide/system/bootloader-grub2/grub2_pti_argument/rule.yml", "template": {"name": "grub2_bootloader_argument", "vars": {"arg_name": "pti", "arg_value": "on"}, "backends": {}}}