취약점 도입 방식
Implementation
적용 가능한 플랫폼
언어
이름: Java (Undetermined)
이름: C++ (Undetermined)
일반적인 결과
| 범위 |
영향 |
가능성 |
Other Integrity | Varies by Context, Modify Application Data
참고: The use of a singleton pattern may not be thread-safe. | |
잠재적 완화 방법
Phases : Architecture and Design
Use the Thread-Specific Storage Pattern. See References.
Phases : Implementation
Do not use member fields to store information in the Servlet. In multithreading environments, storing user data in Servlet member fields introduces a data access race condition.
Phases : Implementation
Avoid using the double-checked locking pattern in language versions that cannot guarantee thread safety. This pattern may be used to avoid the overhead of a synchronized call, but in certain versions of Java (for example), this has been shown to be unsafe because it still introduces a race condition (CWE-209).
탐지 방법
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.)
취약점 매핑 메모
근거 : This CWE entry is at the Variant 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.
참고 자료
REF-474
Thread-Specifc Storage for C/C++
Douglas C. Schmidt, Timothy H. Harrison, Nat Pryce.
https://www.dre.vanderbilt.edu/~schmidt/PDF/TSS-pattern.pdf REF-1534
Automated Technical Debt Measure, Version 2
OMG.
https://www.omg.org/spec/ATDM2/1.0/PDF
제출
| 이름 |
조직 |
날짜 |
출시일 |
Version |
| Anonymous Tool Vendor (under NDA) |
|
2006-07-19 +00:00 |
2006-07-19 +00:00 |
Draft 3 |
수정 사항
| 이름 |
조직 |
날짜 |
댓글 |
| Eric Dalci |
Cigital |
2008-07-01 +00:00 |
updated Potential_Mitigations, Time_of_Introduction |
| CWE Content Team |
MITRE |
2008-09-08 +00:00 |
updated Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2010-09-27 +00:00 |
updated Name |
| CWE Content Team |
MITRE |
2010-12-13 +00:00 |
updated Applicable_Platforms, Demonstrative_Examples, Description, Potential_Mitigations, References, Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2011-03-29 +00:00 |
updated Demonstrative_Examples |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences, Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2014-07-30 +00:00 |
updated Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2019-01-03 +00:00 |
updated Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2020-08-20 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2020-12-10 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Description |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2025-09-09 +00:00 |
updated References |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Detection_Factors, Weakness_Ordinalities |
| CWE Content Team |
MITRE |
2026-10-28 +00:00 |
updated Common_Consequences, Description, References |