Add CONFIG_MODULE_RESTRICT_AUTOLOAD and modrestrict parameter
documentation.

Signed-off-by: Michal Gorlas <[email protected]>
---
 Documentation/admin-guide/kernel-parameters.txt |  5 +++++
 kernel/module/Kconfig                           | 15 +++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt 
b/Documentation/admin-guide/kernel-parameters.txt
index 03a550630644..1013104f0943 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4185,6 +4185,11 @@ Kernel parameters
                        For details see:
                        
Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
 
+       modrestrict=<bool>
+                       Control the restriction of module auto-loading to
+                       CAP_SYS_ADMIN. If no <bool> value is specified, this
+                       is set to the value of CONFIG_MODULE_RESTRICT_AUTOLOAD.
+
        <module>.async_probe[=<bool>] [KNL]
                        If no <bool> value is specified or if the value
                        specified is not a valid <bool>, enable asynchronous
diff --git a/kernel/module/Kconfig b/kernel/module/Kconfig
index 43b1bb01fd27..c9e01bb848c0 100644
--- a/kernel/module/Kconfig
+++ b/kernel/module/Kconfig
@@ -337,6 +337,21 @@ config MODULE_SIG_HASH
 
 endif # MODULE_SIG || IMA_APPRAISE_MODSIG
 
+config MODULE_RESTRICT_AUTOLOAD
+       bool "Restrict module auto-loading to privileged users"
+       default n
+       help
+         Restrict module auto-loading in response to use of some feature
+         implemented by an unloaded module to CAP_SYS_ADMIN. Enabling this
+         option helps reducing the attack surface where unprivileged users
+         can abuse auto-loading to cause a vulnerable module to load that is
+         then exploited.
+
+         Note that this option also prevents a benign use of auto-loading for
+         a non-root users. Thus if enabled, the root user should execute
+         modprobe manually if needed, or add the module to the list of modules
+         loaded at the boot by modifying init scripts.
+
 config MODULE_COMPRESS
        bool "Module compression"
        help

-- 
2.54.0


Reply via email to