CWE-688: Function Call With Incorrect Variable or Reference as Argument(以不正確的變量或引用作爲參數的函數調用)

 ID: 688

類型:變量
結構:簡單

狀態:草稿

描述

軟件調用函數、過程或例程,但調用方指定錯誤的變量或引用作爲參數之一,這可能導致未定義的行爲和結果弱點。

相關視圖

與“研究層面”視圖(CWE-1000)相關

與“開發層面”視圖(CWE-699)相關

引入模式

階段

說明

實現

此問題通常在打字錯誤或是拷貝粘貼錯誤時發生。

應用平臺

語言

C (出現的可能性不確定)

Perl (出現的可能性不確定)

後果

範圍

衝擊

可能性

其它

技術衝擊: 質量下降

 

示例

例1

在下面的java代碼段中,accessGranted()方法調用時候不小心以靜態ADMIN_ROLES數組作爲參數而沒有使用user roles作爲參數。

(問題代碼)

Example Language: Java 

private static final String[] ADMIN_ROLES = ...;
public boolean void accessGranted(String resource, String user) {

String[] userRoles = getUserRoles(user);
return accessGranted(resource, ADMIN_ROLES);

}

private boolean void accessGranted(String resource, String[] userRoles) {


// grant or deny access based on user roles
...

}

應對措施

階段: 測試

由於此函數調用通常會產生不正確的行爲,因此通常會在測試或軟件正常運行期間檢測到它。在測試過程中,所有可能的控制路徑通常都會暴露出這個弱點,除非在極少數情況下,不正確的函數調用意外地產生正確的結果,或者如果提供的參數類型與預期的參數類型非常相似。

種屬

關係

類型

ID

名稱

屬於

998

SFP Secondary Cluster: Glitch in Computation

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