security-misc/etc/default/grub.d/40_cpu_mitigations.cfg

114 lines
4.8 KiB
INI
Raw Normal View History

2024-05-10 23:18:36 -04:00
## Copyright (C) 2019 - 2024 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
2020-02-12 13:42:13 -05:00
## See the file COPYING for copying conditions.
## Enable known mitigations for CPU vulnerabilities.
2022-07-18 12:29:46 -04:00
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html
2024-01-29 07:57:48 -05:00
## https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
2020-02-12 13:42:13 -05:00
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647
2024-05-05 08:50:39 -04:00
## Check for potential updates directly from AMD and Intel.
## https://www.amd.com/en/resources/product-security.html
## https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/advisory-guidance.html
## https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/disclosure-documentation.html
2024-04-30 23:49:34 -04:00
## Enable a subset of known mitigations for CPU vulnerabilities and disable SMT.
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mitigations=auto,nosmt"
## Disable SMT as it has been the cause of and amplified numerous CPU exploits.
## The only full mitigation of cross-HT attacks is to disable SMT.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/core-scheduling.html
## https://forums.whonix.org/t/should-all-kernel-patches-for-cpu-bugs-be-unconditionally-enabled-vs-performance-vs-applicability/7647/17
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nosmt=force"
2024-04-30 23:47:40 -04:00
## Enable mitigations for both Spectre Variant 2 (indirect branch speculation)
## and Intel branch history injection (BHI) vulnerabilities.
2020-02-12 13:42:13 -05:00
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/spectre.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_v2=on"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spectre_bhi=on"
2020-02-12 13:42:13 -05:00
2024-04-30 23:48:13 -04:00
## Disable Speculative Store Bypass (Spectre Variant 4).
##
## https://www.suse.com/support/kb/doc/?id=000019189
##
2020-02-12 13:42:13 -05:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_store_bypass_disable=on"
2022-07-18 12:29:46 -04:00
## Enable mitigations for the L1TF vulnerability through disabling SMT
## and L1D flush runtime control.
2020-02-12 13:42:13 -05:00
##
2022-07-18 12:29:46 -04:00
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
##
2022-07-18 12:29:46 -04:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1tf=full,force"
2020-02-12 13:42:13 -05:00
2022-07-18 12:29:46 -04:00
## Enable mitigations for the MDS vulnerability through clearing buffer cache
## and disabling SMT.
2020-02-12 13:42:13 -05:00
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html
##
2020-02-12 13:42:13 -05:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mds=full,nosmt"
## Patches the TAA vulnerability by disabling TSX and enable mitigations using
2022-07-18 12:29:46 -04:00
## TSX Async Abort along with disabling SMT.
2020-02-12 13:42:13 -05:00
##
2022-07-18 12:29:46 -04:00
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx=off"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX tsx_async_abort=full,nosmt"
2020-02-12 13:42:13 -05:00
## Mark all huge pages in the EPT as non-executable to mitigate iTLB multihit.
##
2022-07-18 12:29:46 -04:00
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html
##
2020-02-12 13:42:13 -05:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX kvm.nx_huge_pages=force"
2022-07-18 12:30:49 -04:00
## Mitigations for SRBDS to prevent MDS attacks on RDRAND and RDSEED instructions
## are only possible through microcode updates from Intel.
2022-07-18 12:30:49 -04:00
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/special-register-buffer-data-sampling.html
2022-07-18 13:16:08 -04:00
## https://access.redhat.com/solutions/5142691
2022-07-18 12:32:41 -04:00
## Enable the prctl() interface to prevent leaks from L1D on context switches.
2022-07-18 12:32:41 -04:00
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1d_flush.html
##
2022-07-18 12:32:41 -04:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX l1d_flush=on"
2022-07-18 12:33:16 -04:00
## Mitigate numerous MMIO Stale Data vulnerabilities and disable SMT.
2022-07-18 12:33:16 -04:00
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/processor_mmio_stale_data.html
##
2022-07-18 12:33:16 -04:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX mmio_stale_data=full,nosmt"
## Enable mitigations for RETBleed (Arbitrary Speculative Code Execution with
## Return Instructions) vulnerability and disable SMT.
##
2024-04-30 23:49:00 -04:00
## https://www.suse.com/support/kb/doc/?id=000020693
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX retbleed=auto,nosmt"
## Control RAS overflow mitigation on AMD Zen CPUs.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html
##
## The default kernel setting will be utilised until provided sufficient evidence to modify.
##
#GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX spec_rstack_overflow=safe-ret"
2024-04-30 23:50:42 -04:00
## Enable Gather Data Sampling (GDS) mitigation.
2024-04-30 23:50:42 -04:00
## Note for systems that have not received a suitable microcode update this will
## entirely disable use of the AVX instructions set.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/gather_data_sampling.html
##
2024-04-30 23:50:42 -04:00
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX gather_data_sampling=force"
## Enable Register File Data Sampling (RFDS) mitigation on Intel Atom CPUs which
## encompasses E-cores on hybrid architectures.
##
## https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/reg-file-data-sampling.html
##
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX reg_file_data_sampling=on"