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”的引用。恶意用户可以修改对象的内部状态。

安全培训

应用程序安全培训材料由 Secure Code Warrior 提供。