RHEL 9 SSH daemon must not allow compression or must only allow compression after successful authentication.

STIG ID: RHEL-09-255130  |  SRG: SRG-OS-000480-GPOS-00227 |  Severity: medium (CAT II)  |  CCI: CCI-000366 |  Vulnerability Id: V-258002

Vulnerability Discussion

If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially with root privileges.

Compression options are:
no - disables compression
delayed - allow compression only after authentication
yes - enables compression before authentication, which can leak sensitive metadata and is not recommended

Check

Verify the RHEL 9 SSH daemon performs compression after a user successfully authenticates with the following command:

$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*compression'
/etc/ssh/sshd_config:Compression no

If the "Compression" keyword is set to "yes", is missing, or the returned line is commented out, this is a finding.

Fix

Configure the SSH daemon to not allow compression.

Uncomment the "Compression" keyword in "/etc/ssh/sshd_config" on the system and set the value to "delayed" or "no":

Compression no

The SSH service must be restarted for changes to take effect:

$ sudo systemctl restart sshd.service