Insecure Inherited Permissions

Draft Variant
Structure: Simple
Description

This vulnerability occurs when an application sets default file or directory permissions that are too permissive, and these insecure settings are automatically passed down to new files or objects the program creates.

Extended Description

Insecure inherited permissions are a common configuration flaw where the default 'umask' or access control settings on a parent directory are not restrictive enough. When the application creates new files, folders, or other system objects within that environment, they inherit these overly broad permissions. This often means files containing sensitive data like configuration details, logs, or user information become readable or writable by unauthorized users or system processes. The root cause is typically a failure to explicitly set secure permissions at creation time, relying instead on the system's inherited defaults. Developers must proactively define strict access controls (like read/write for owners only) when creating resources, especially in multi-user environments or on shared hosting. Ignoring this allows attackers or unintended users to view, modify, or delete critical data, leading to information disclosure or system compromise.

Common Consequences 1
Scope: ConfidentialityIntegrity

Impact: Read Application DataModify Application Data

Potential Mitigations 2
Phase: Architecture and DesignOperation
Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
Phase: Architecture and Design

Strategy: Separation of Privilege

Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
Observed Examples 2
CVE-2005-1841User's umask is used when creating temp files.
CVE-2002-1786Insecure umask for core dumps [is the umask preserved or assigned?].
Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Modes of Introduction
Architecture and Design
Implementation
Operation
Taxonomy Mapping
  • PLOVER