Check: RHEL-09-213110
RHEL 9 STIG:
RHEL-09-213110
(in versions v1 r3 through v1 r1)
Title
RHEL 9 must implement nonexecutable data to protect its memory from unauthorized code execution. (Cat II impact)
Discussion
ExecShield uses the segmentation feature on all x86 systems to prevent execution in memory higher than a certain address. It writes an address as a limit in the code segment descriptor, to control where code can be executed, on a per-process basis. When the kernel places a process's memory regions such as the stack and heap higher than this address, the hardware prevents execution in that address range. This is enabled by default on the latest Red Hat and Fedora systems if supported by the hardware.
Check Content
Verify ExecShield is enabled on 64-bit RHEL 9 systems with the following command: $ sudo dmesg | grep '[NX|DX]*protection' [ 0.000000] NX (Execute Disable) protection: active If "dmesg" does not show "NX (Execute Disable) protection" active, this is a finding.
Fix Text
Update the GRUB 2 bootloader configuration. Run the following command: $ sudo grubby --update-kernel=ALL --remove-args=noexec
Additional Identifiers
Rule ID: SV-257817r925438_rule
Vulnerability ID: V-257817
Group Title: SRG-OS-000433-GPOS-00192
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-002824 |
The information system implements organization-defined security safeguards to protect its memory from unauthorized code execution. |
Controls
Number | Title |
---|---|
SI-16 |
Memory Protection |