Modes Of Introduction
Implementation
Applicable Platforms
Language
Class: Not Language-Specific (Undetermined)
Common Consequences
| Scope |
Impact |
Likelihood |
| Confidentiality | Read Application Data
Note: If the temporary file can be read by the attacker, sensitive information may be in that file which could be revealed. | |
Authorization Other | Other
Note: If that file can be written to by the attacker, the file might be moved into a place to which the attacker does not have access. This will allow the attacker to gain selective resource access-control privileges. | |
Integrity Other | Other
Note: Depending on the data stored in the temporary file, there is the potential for an attacker to gain an additional input vector which is trusted as non-malicious. It may be possible to make arbitrary changes to data structures, user information, or even process ownership. | |
Observed Examples
| References |
Description |
| A network application framework uses the Java function createTempFile(), which will create a file that is readable by other local users of the system |
Potential Mitigations
Phases : Requirements
Many contemporary languages have functions which properly handle this condition. Older C temp file functions are especially susceptible.
Phases : Implementation
Ensure that you use proper file permissions. This can be achieved by using a safe temp file function. Temporary files should be writable and readable only by the process that owns the file.
Phases : Implementation
Randomize temporary file names. This can also be achieved by using a safe temp-file function. This will ensure that temporary files will not be created in predictable places.
Detection Methods
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.)
Vulnerability Mapping Notes
Justification : 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.
Comment : 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.
References
REF-18
The CLASP Application Security Process
Secure Software, Inc..
https://cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf
Submission
| Name |
Organization |
Date |
Date release |
Version |
| CLASP |
|
2006-07-19 +00:00 |
2006-07-19 +00:00 |
Draft 3 |
Modifications
| Name |
Organization |
Date |
Comment |
| Eric Dalci |
Cigital |
2008-07-01 +00:00 |
updated Time_of_Introduction |
| CWE Content Team |
MITRE |
2008-09-08 +00:00 |
updated Common_Consequences, Relationships, Other_Notes, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2009-10-29 +00:00 |
updated Common_Consequences, Other_Notes |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2012-10-30 +00:00 |
updated Demonstrative_Examples, Potential_Mitigations |
| CWE Content Team |
MITRE |
2014-06-23 +00:00 |
updated Potential_Mitigations |
| CWE Content Team |
MITRE |
2014-07-30 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2017-11-08 +00:00 |
updated Applicable_Platforms, Demonstrative_Examples |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated References, Relationships |
| CWE Content Team |
MITRE |
2021-03-15 +00:00 |
updated Demonstrative_Examples |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Relationships, Time_of_Introduction |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2023-10-26 +00:00 |
updated Observed_Examples |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Detection_Factors, Weakness_Ordinalities |