Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-23953 | GEN007960 | SV-37621r2_rule | ECSC-1 | Medium |
Description |
---|
The 'ldd' command provides a list of dependent libraries needed by a given binary, which is useful for troubleshooting software. Instead of parsing the binary file, some 'ldd' implementations invoke the program with a special environment variable set, which causes the system dynamic linker to display the list of libraries. Specially crafted binaries can specify an alternate dynamic linker which may cause a program to be executed instead of examined. If the program is from an untrusted source, such as in a user home directory, or a file suspected of involvement in a system compromise, unauthorized software may be executed with the rights of the user running 'ldd'. Some 'ldd' implementations include protections that prevent the execution of untrusted files. Recent RHEL 5 glibc RPMs also protect against the execution of untrusted files. If such protections exist, this requirement is not applicable. An acceptable method of disabling 'ldd' is changing its mode to 0000. The SA may conduct troubleshooting by temporarily changing the mode to allow execution and running the 'ldd' command as an unprivileged user upon trusted system binaries. |
STIG | Date |
---|---|
Red Hat Enterprise Linux 5 Security Technical Implementation Guide | 2013-07-03 |
Check Text ( C-36820r3_chk ) |
---|
Check the system for the 'ldd' binary. Procedure: # ls -lL /usr/bin/ldd If the 'ldd' binary has any executable permissions bits set, this is a finding. |
Fix Text (F-31658r1_fix) |
---|
Remove the execute permissions from the 'ldd' executable. Procedure: # chmod a-x /usr/bin/ldd |