ID: 496 類型:變量 |
狀態:未完成 |
描述
將公有數據賦值給私有數組相當於可以公開訪問這個數組。
相關視圖
與“研究層面”視圖(CWE-1000)相關
與“開發層面”視圖(CWE-699)相關
引入模式
階段 |
說明 |
實現 |
應用平臺
語言
C (出現的可能性不確定)
C++ (出現的可能性不確定)
Java (出現的可能性不確定)
C# (出現的可能性不確定)
後果
範圍 |
衝擊 |
可能性 |
完整性 |
技術衝擊: 修改應用數據 數組內容可能在預計的範圍之外被修改。 |
示例
例1
在下面的示例中,SETROLSER()方法將一個公開可控的數組分配給一個私有字段,從而允許調用方直接通過Java中的數組是可變的來修改私有數組。
(問題代碼)
Example Language: Java
private String[] userRoles;
public void setUserRoles(String[] userRoles) {
this.userRoles = userRoles;
}
應對措施
階段: 實現 不要允許對象修改類的私有成員。 |
種屬
關係 |
類型 |
ID |
名稱 |
屬於 |
485 |
||
屬於 |
884 |
||
屬於 |
994 |