引入方式
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 |