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");
}
针对第 19 行中的 return 语句报告 SV.EXPOSE.RET:方法返回对 mutable 对象“adminUsers”的引用。恶意用户可以修改对象的内部状态。