RHEL-09-212045 - RHEL 9 must clear SLUB/SLAB objects to prevent use-after-free attacks.

Warning! Audit Deprecated

This audit has been deprecated and will be removed in a future update.

View Next Audit Version

Information

Some adversaries launch attacks with the intent of executing code in nonexecutable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can be either hardware-enforced or software-enforced with hardware providing the greater strength of mechanism.

Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory.

SLAB objects are blocks of physically contiguous memory. SLUB is the unqueued SLAB allocator.

Satisfies: SRG-OS-000433-GPOS-00192, SRG-OS-000134-GPOS-00068

Solution

Configure RHEL to enable poisoning of SLUB/SLAB objects with the following commands:

$ sudo grubby --update-kernel=ALL --args='slub_debug=P'

Add or modify the following line in '/etc/default/grub' to ensure the configuration survives kernel updates:

GRUB_CMDLINE_LINUX='slub_debug=P'

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/U_RHEL_9_V1R1_STIG.zip

Item Details

References: CAT|II, CCI|CCI-001084, CCI|CCI-002824, Rule-ID|SV-257794r925369_rule, STIG-ID|RHEL-09-212045, Vuln-ID|V-257794

Plugin: Unix

Control ID: 4a664a384e36d5d731cc3d0ba1cfbec306a08a53dbf214d84b022316ed7df849