{"description": "Enabling this option prevents the kernel from accessing user-space memory directly by pointing\nTTBR0_EL1 to a reserved zeroed area and reserved ASID.\nThe user access routines restore the valid TTBR0_EL1 temporarily.\nThis configuration is available from kernel 4.10, but may be available if backported\nby distros.\n\nThe configuration that was used to build kernel is available at <tt>/boot/config-*</tt>.\n    To check the configuration value for <tt>CONFIG_ARM64_SW_TTBR0_PAN</tt>, run the following command:\n    <tt>grep CONFIG_ARM64_SW_TTBR0_PAN /boot/config-*</tt>\n    \n    For each kernel installed, a line with value \"y\" should be returned.\n    ", "rationale": "The Privileged Access Never (PAN) is the ARM equivalent of the x86 Supervisor Mode Access\nPrevention (SMAP), and it prevents privileged access to user data unless explicitly enabled.", "severity": "medium", "references": {"anssi": ["R27"]}, "control_references": {"anssi": ["R27"]}, "components": [], "identifiers": {}, "ocil_clause": "the kernel was not built with the required value", "ocil": "To determine the config value the kernel was built with, run the following command:\n    <pre>$ grep CONFIG_ARM64_SW_TTBR0_PAN /boot/config.*</pre>\n    \n    For each kernel installed, a line with value \"y\" should be returned.\n    ", "oval_external_content": null, "fixtext": "", "checktext": "", "vuldiscussion": "", "srg_requirement": "", "warnings": [{"general": "There is no remediation for this besides re-compiling the kernel with the appropriate value for the config."}], "conflicts": [], "requires": [], "policy_specific_content": {}, "platform": "aarch64_arch", "platforms": ["aarch64_arch"], "sce_metadata": {}, "inherited_platforms": ["system_with_kernel"], "cpe_platform_names": ["aarch64_arch"], "inherited_cpe_platform_names": ["system_with_kernel"], "bash_conditional": null, "fixes": {}, "title": "Emulate Privileged Access Never (PAN)", "definition_location": "/aptdata/openscap/scap-security-guide/linux_os/guide/system/kernel_build_config/kernel_config_arm64_sw_ttbr0_pan/rule.yml", "template": {"name": "kernel_build_config", "vars": {"config": "CONFIG_ARM64_SW_TTBR0_PAN", "value": "y"}, "backends": {}}}