CWE-496: Public Data Assigned to Private Array-Typed Field(將公有數據賦值給私有數組)

 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

7PK - Encapsulation

屬於

884

CWE Cross-section

屬於

994

SFP Secondary Cluster: Tainted Input to Variable

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章