RHEL 10 must restrict exposed kernel pointer address access.

STIG ID: RHEL-10-701060  |  SRG: SRG-OS-000132-GPOS-00067 |  Severity: medium (CAT II)  |  CCI: CCI-001082,CCI-002824 |  Vulnerability Id: V-281308

Vulnerability Discussion

Exposing kernel pointers (through procfs or "seq_printf()") exposes kernel writable structures, which may contain functions pointers. If a write vulnerability occurs in the kernel, allowing write access to any of this structure, the kernel can be compromised. This option disallows any program without the CAP_SYSLOG capability to get the addresses of kernel pointers by replacing them with "0".

Satisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000433-GPOS-00192

Check

Verify RHEL 10 is configured to restrict exposed kernel pointer address access.

Verify the runtime status of the "kernel.kptr_restrict" kernel parameter with the following command:

$ sudo sysctl kernel.kptr_restrict
kernel.kptr_restrict = 1

If "kernel.kptr_restrict" is not set to "1" or is missing, this is a finding.

Fix

Configure RHEL 10 to restrict exposed kernel pointer address access.

Create a drop-in if it does not already exist:

$ sudo vi /etc/sysctl.d/99-kernel_kptr_restrict.conf

Add the following to the file:

kernel.kptr_restrict = 1

Reload settings from all system configuration files with the following command:

$ sudo sysctl --system