SV.EXPOSE.RET
このエラーは、メソッドが mutable オブジェクトへの参照を返す場合に検出されます。
脆弱性とリスク
SV.EXPOSE.FIN を参照してください。
Klocwork セキュリティ脆弱性 (SV) チェッカーは、潜在的に危険なデータを生成する呼び出しを特定します。このような呼び出しは安全でないソースと考えられます。ユーザーは攻撃者になる可能性があり、ヒューマンエラーを取り込む可能性があるため、安全でないソースはユーザーが指定した任意のデータである可能性があります。
軽減と防止
この脆弱性は、public メソッドが mutable オブジェクトへの参照を返さないようにすることにより緩和できます。
例 1
コピー
private ArrayList adminUsers;
public Collection getAdminUsers() {
return adminUsers;
}
// ...
void maliciousUserCode() {
getAdminUsers().add("myself");
}
SV.EXPOSE.RET が 19 行目の 'return' 文に対して報告されています。メソッドが mutable オブジェクトである 'adminUsers' への参照を返しています。オブジェクトの内部状態が悪意のあるユーザーによって変更される可能性があります。
外部参考資料
セキュリティトレーニング
Secure Code Warrior が提供しているアプリケーションセキュリティトレーニング教材。