CWE-500: Public Static Field Not Marked Final
CWE版本: 4.18
更新日期: 2025-09-09
弱点描述
An object contains a public static field that is not marked final, which might allow it to be modified in unexpected ways.
扩展描述
Public static variables can be read without an accessor and changed without a mutator by any classes in the application.
常见后果
影响范围: Integrity
技术影响: Modify Application Data
说明: The object could potentially be tampered with.
影响范围: Confidentiality
技术影响: Read Application Data
说明: The object could potentially allow the object to be read.
潜在缓解措施
阶段: Architecture and Design
描述: Clearly identify the scope for all critical data elements, including whether they should be regarded as static.
阶段: Implementation
检测方法
方法: 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
引入模式
| 阶段 | 说明 |
|---|---|
| Implementation | - |
适用平台
编程语言
分类映射
| 分类名称 | 条目ID | 条目名称 | 映射适配度 |
|---|---|---|---|
| CLASP | - | Overflow of static internal buffer | - |
| The CERT Oracle Secure Coding Standard for Java (2011) | OBJ10-J | Do not use public static nonfinal variables | - |
| Software Fault Patterns | SFP28 | Unexpected access points | - |