1.323 OL09-00-002422

Information

OL 9 must implement nonexecutable data to protect its memory from unauthorized code execution.

GROUP ID: V-271760
RULE ID: SV-271760r1091992

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 Oracle systems if supported by the hardware.

Solution

Update the GRUB 2 bootloader configuration.

Run the following command:

$ sudo grubby --update-kernel=ALL --remove-args=noexec

See Also

https://workbench.cisecurity.org/benchmarks/27024