A process does not close sensitive file descriptors before invoking a child process, which allows the child to perform unauthorized I/O operations using those descriptors.
When a new process is forked or executed, the child process inherits any open file descriptors. When the child process has fewer privileges than the parent process, this might introduce a vulnerability if the child process can access the file descriptor but does not have the privileges to access the associated file.

Resultant

File descriptor leak
While this issue is frequently called a file descriptor leak, the "leak" term is often used in two different ways - exposure of a resource, or consumption of a resource. Use of this term could cause confusion.

Implementation
REALIZATION: This weakness is caused during implementation of an architectural security tactic.

Confidentiality
Integrity
Read Application Data
Modify Application Data

Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
High

CVE-2003-0740
Server leaks a privileged file descriptor, allowing the server to be hijacked.
https://www.cve.org/CVERecord?id=CVE-2003-0740

CVE-2004-1033
File descriptor leak allows read of restricted files.
https://www.cve.org/CVERecord?id=CVE-2004-1033

CVE-2000-0094
Access to restricted resource using modified file descriptor for stderr.
https://www.cve.org/CVERecord?id=CVE-2000-0094

CVE-2002-0638
Open file descriptor used as alternate channel in complex race condition.
https://www.cve.org/CVERecord?id=CVE-2002-0638

CVE-2003-0489
Program does not fully drop privileges after creating a file descriptor, which allows access to the descriptor via a separate vulnerability.
https://www.cve.org/CVERecord?id=CVE-2003-0489

CVE-2003-0937
User bypasses restrictions by obtaining a file descriptor then calling setuid program, which does not close the descriptor.
https://www.cve.org/CVERecord?id=CVE-2003-0937

CVE-2004-2215
Terminal manager does not properly close file descriptors, allowing attackers to access terminals of other users.
https://www.cve.org/CVERecord?id=CVE-2004-2215

CVE-2006-5397
Module opens a file for reading twice, allowing attackers to read files.
https://www.cve.org/CVERecord?id=CVE-2006-5397

Program Invocation

System Process
File or Directory

UNIX file descriptor leak

FIO42-C
Ensure files are properly closed when they are no longer needed

SFP23
Exposed Data

Allowed
This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.

PLOVER
2006-07-19
Draft 3
2006-07-19

Eric Dalci
Cigital
2008-07-01
updated Time_of_Introduction

CWE Content Team
MITRE
2008-09-08
updated Applicable_Platforms, Relationships, Taxonomy_Mappings

CWE Content Team
MITRE
2008-11-24
updated Affected_Resources, Observed_Examples, Relationships, Taxonomy_Mappings

CWE Content Team
MITRE
2011-03-29
updated Name

CWE Content Team
MITRE
2011-06-01
updated Common_Consequences

CWE Content Team
MITRE
2011-06-27
updated Common_Consequences

CWE Content Team
MITRE
2011-09-13
updated Relationships, Taxonomy_Mappings

CWE Content Team
MITRE
2012-05-11
updated Relationships

CWE Content Team
MITRE
2013-02-21
updated Alternate_Terms, Description, Name, Observed_Examples, References

CWE Content Team
MITRE
2014-07-30
updated Relationships, Taxonomy_Mappings

CWE Content Team
MITRE
2017-11-08
updated Affected_Resources, Applicable_Platforms, Modes_of_Introduction, References, Relationships, Taxonomy_Mappings

CWE Content Team
MITRE
2020-02-24
updated Relationships

CWE Content Team
MITRE
2023-04-27
updated References, Relationships, Time_of_Introduction

CWE Content Team
MITRE
2023-06-29
updated Mapping_Notes

CWE Content Team
MITRE
2025-04-03
4.17
2025-04-03
updated Applicable_Platforms

CWE Content Team
MITRE
2025-09-09
4.18
2025-09-09
updated Functional_Areas

CWE Content Team
MITRE
2025-12-11
4.19
2025-12-11
updated Detection_Factors, Weakness_Ordinalities

UNIX File Descriptor Leak
Exposure of File Descriptor to Unintended Control Sphere