{"description": "Zero-initialize any stack variables that may be passed by reference and had not already been explicitly initialized.\nThis configuration is available from kernel 4.14, 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_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL</tt>, run the following command:\n    <tt>grep CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL /boot/config-*</tt>\n    \n    For each kernel installed, a line with value \"y\" should be returned.\n    ", "rationale": "This eliminates all classes of uninitialized stack variable exploits and information exposures.", "severity": "medium", "references": {"anssi": ["R21"]}, "control_references": {"anssi": ["R21"]}, "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_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL /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": null, "platforms": [], "sce_metadata": {}, "inherited_platforms": ["system_with_kernel"], "cpe_platform_names": [], "inherited_cpe_platform_names": ["system_with_kernel"], "bash_conditional": null, "fixes": {}, "title": "zero-init everything passed by reference", "definition_location": "/aptdata/openscap/scap-security-guide/linux_os/guide/system/kernel_build_config/gcc_plugin/kernel_config_gcc_plugin_structleak_byref_all/rule.yml", "template": {"name": "kernel_build_config", "vars": {"config": "CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL", "value": "y"}, "backends": {}}}