CWE-491 公开的可克隆方法(对象劫持)

admin 2021年12月16日15:50:28评论74 views字数 1254阅读4分10秒阅读模式

CWE-491 公开的可克隆方法(对象劫持)

Public cloneable() Method Without Final ('Object Hijack')

结构: Simple

Abstraction: Variant

状态: Draft

被利用可能性: unkown

基本描述

A class has a cloneable() method that is not declared final, which allows an object to be created without calling the constructor. This can cause the object to be in an unexpected state.

相关缺陷

  • cwe_Nature: ChildOf cwe_CWE_ID: 668 cwe_View_ID: 1000 cwe_Ordinal: Primary

适用平台

Language: {'cwe_Name': 'Java', 'cwe_Prevalence': 'Undetermined'}

常见的影响

范围 影响 注释
['Integrity', 'Other'] ['Unexpected State', 'Varies by Context']

可能的缓解方案

Implementation

策略:

Make the cloneable() method final.

示例代码

In this example, a public class "BankAccount" implements the cloneable() method which declares "Object clone(string accountnumber)":

bad Java

public class BankAccount implements Cloneable{

public Object clone(String accountnumber) throws
CloneNotSupportedException
{

Object returnMe = new BankAccount(account number);
...

}

}

In the example below, a clone() method is defined without being declared final.

bad Java

protected Object clone() throws CloneNotSupportedException {

...

}

分类映射

映射的分类名 ImNode ID Fit Mapped Node Name
7 Pernicious Kingdoms Mobile Code: Object Hijack
The CERT Oracle Secure Coding Standard for Java (2011) OBJ07-J Sensitive classes must not let themselves be copied
Software Fault Patterns SFP28 Unexpected access points

引用

文章来源于互联网:scap中文网

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月16日15:50:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CWE-491 公开的可克隆方法(对象劫持)http://cn-sec.com/archives/613245.html

发表评论

匿名网友 填写信息