引入方式
Implementation : In the case of Servlets, developers sometimes do
not understand that, unless a Servlet implements the
SingleThreadModel interface, the Servlet is a
singleton; there is only one instance of the Servlet,
and that single instance is used and re-used to handle
multiple requests that are processed simultaneously by
different threads. A common result is that developers
use Servlet member fields in such a way that one user
may inadvertently see another user's data.
Implementation : REALIZATION: This weakness is caused during implementation of an architectural security tactic.
適用平台
程式語言
類別: Not Language-Specific (Undetermined)
常見後果
| 範圍 |
影響 |
可能性 |
| Confidentiality | Read Application Data
注意:
Data can "bleed" from one session to another through
member variables of singleton objects, such as
Servlets, and objects from a shared pool. Storing
user data in Servlet member fields introduces a data
access race condition.
| |
潛在緩解措施
Phases : Architecture and Design
Protect the application's sessions from information leakage. Make sure that a session's data is not used or visible by other sessions.
Phases : Testing
Use a static analysis tool to scan the code for information leakage vulnerabilities (e.g. Singleton Member Field).
Phases : Architecture and Design
In a multithreading environment, storing user data in Servlet member fields introduces a data access race condition. Do not use member fields to store information in the Servlet.
偵測方法
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
漏洞對應備注
理由說明 : 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.
相關攻擊模式
| CAPEC ID |
攻擊模式名稱 |
| CAPEC-59 |
Session Credential Falsification through Prediction
This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking. |
| CAPEC-60 |
Reusing Session IDs (aka Session Replay)
This attack targets the reuse of valid session ID to spoof the target system in order to gain privileges. The attacker tries to reuse a stolen session ID used previously during a transaction to perform spoofing and session hijacking. Another name for this type of attack is Session Replay. |
參考資料
REF-6
Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors
Katrina Tsipenyuk, Brian Chess, Gary McGraw.
https://cwe.mitre.org/documents/sources/SevenPerniciousKingdoms.pdf
提交
| 名稱 |
機構 |
日期 |
發布日期 |
Version |
| 7 Pernicious Kingdoms |
|
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 Description, Relationships, Other_Notes, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2009-05-27 +00:00 |
updated Demonstrative_Examples |
| CWE Content Team |
MITRE |
2009-10-29 +00:00 |
updated Description, Other_Notes |
| CWE Content Team |
MITRE |
2010-09-27 +00:00 |
updated Potential_Mitigations |
| CWE Content Team |
MITRE |
2010-12-13 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2011-03-29 +00:00 |
updated Name |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2011-09-13 +00:00 |
updated Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2012-10-30 +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, Modes_of_Introduction, Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated References, Relationships, Type |
| CWE Content Team |
MITRE |
2021-03-15 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Detection_Factors, Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Weakness_Ordinalities |
| CWE Content Team |
MITRE |
2026-10-28 +00:00 |
updated Common_Consequences, Description, Functional_Areas, Modes_of_Introduction, References |