pkgadd(1M) May Set Incorrect Permissions if The pkgmap(4) File Contains a "?" in The "Mode" Field |
|
| Category : | Security |
| Release Phase : | Resolved |
| Product : | Solaris 10 Operating System
|
| Bug Id : | 6380672
|
| Date of Resolved Release : | 25-AUG-2006
|
Impact
If a patch or package is installed which contains a pkgmap(4) with a "?" for the mode field of a file or directory onto a Solaris 10 system, pkgadd(1M) may incorrectly set the permissions of the corresponding file or directory to either 755 or 777. The permissions of 777 are a security risk since when applied to a file any user is then able to modify that file and when applied to a directory all files within that directory can modified by any user.
The expected behavior is:
- Default permissions (644 for files, and 755 for directories) when the file is not present in the system.
- Existing file permissions unchanged, if the file already exists.
Contributing Factors
This issue can occur in the following releases:
SPARC Platform
x86 Platform
Note 1: Solaris 8 and Solaris 9 are not impacted by this issue.
Note 2: This issue only occurs when the package being installed includes a file or directory that meets the following criterion:
- The pkgmap(4) entry for the file or directory contains a "?" in the "mode" field.
The following two pkgmap(4) entries meet the above criterion:
1 d none /var/tmp/h ? ? ? 6092 63929 894644668
1 f none /var/tmp/xyz root other ? 6092 63929 894644668
Symptoms
When adding a package whose pkgmap(4) has a "?" entry in the file permissions field, then pkgadd(1M) prompts:
Do you want to install these as setuid/setgid files [y,n,?,q]
Selecting "yes" will result in the file being installed with permissions set to 755. Otherwise, it will be installed with permissions set to 777.
Workaround
There is no workaround. Please see the "Resolution" section below.
Resolution
This issue is addressed in the following releases:
SPARC Platform
x86 Platform
AttachmentsThis solution has no attachment