Category
Security
Release Phase
Resolved
ProductSolaris 9 Operating System
Solaris 8 Operating System
Bug Id
4742992
Date of Resolved Release21-AUG-2006
Impact
A security vulnerability in the default Role-Based Access Control (RBAC, see rbac(5)) configuration associated with the "File System Management" profile may allow a local user who has been assigned that profile to execute arbitrary commands with the privileges of the "root" user.
In addition, a security vulnerability in the format(1M) command may allow a local user who has been granted the "File System Management" RBAC profile (or any custom profile which would allow the user to run the format(1M) command with "root" privileges) to write to the device files associated with local disks with the privileges of the root user.
Contributing Factors
These issues can occur in the following releases:
SPARC Platform
- Solaris 8 without patch 108975-10
- Solaris 9 without patch 113072-08
x86 Platform
- Solaris 8 without patch 108976-10
- Solaris 9 without patch 114423-07
Notes:
- Solaris 10 is not impacted by this issue.
- These issues are only present when at least one non-root user on the system has been granted a profile allowing them to run the format(1M) command with root privileges, for example, the "File System Management" profile.
The assignment of profiles to users is configured in the user_attr(4) database. For example, if the host is configured to only use a local file for this database, users with the "File System Management" profile can be identified with a command such as the following:
$ grep 'File System Management' /etc/user_attr
For hosts which are configured via nsswitch.conf(4) to use a source other than a local file for the user_attr(4) database, please refer to the relevant documentation for that source (for example, ldap(1), ypfiles(4) or nis+(1)).
To determine if an individual user has been granted a profile which contains the format(1M) command, the profiles(1) command can be used as in the following example:
$ profiles -l testuser | grep /usr/sbin/format
usr/sbin/format uid=0
If the host is configured to only use a local file for the exec_attr(4) database, a command similar to the following can be run to determine which profiles grant privileged access to the format(1M) utility:
$ grep format /etc/security/exec_attr
File System Management:suser:cmd:::/usr/sbin/format:euid=0
For hosts which are configured via nsswitch.conf(4) to use a source other than a local file for the exec_attr(4) database, please refer to the relevant documentation for that source (for example, ypfiles(4) or nis+(1)).
Symptoms
There are no predictable symptoms that would indicate this issue has been exploited to gain elevated privileges or to write to a host's disks.
Workaround
To work around these issues until patches can be applied, remove references to the 'format' command from the exec_attr(4) database. (However, this will result in those users no longer being granted privileged access to the format command).
For example, if the host is configured to only use a local file for the exec_attr(4) database, a '#' symbol can be inserted at the beginning of lines in the "/etc/security/exec_attr" file which reference the 'format' command:
$ grep /usr/sbin/format /etc/security/exec_attr
#File System Management:suser:cmd:::/usr/sbin/format:euid=0
For hosts which are configured via nsswitch.conf(4) to use a source other than a local file for the exec_attr(4) database, please refer to the relevant documentation for that source (for example, ypfiles(4) or nis+(1)).
Resolution
These issues are addressed in the following releases:
SPARC Platform
- Solaris 8 with patch 108975-10 or later
- Solaris 9 with patch 113072-08 or later
x86 Platform
- Solaris 8 with patch 108976-10 or later
- Solaris 9 with patch 114423-07 or later
References
113072-08
108975-10
114423-07
108976-10
AttachmentsThis solution has no attachment