数组声明为public final static漏洞缺陷

一、什么是数组声明为public final static缺陷?

程序声明一个public final static的数组,这不足以防止修改数组的内容。

二、数组声明为public final static缺陷构成条件有哪些?

因为数组是可变对象,所以最终约束要求数组对象本身只分配一次,但不保证数组元素的值。由于数组是public的,因此恶意程序可以更改存储在数组中的值。因此,在大多数情况下,声明为public final static的数组是一个错误。

三、数组声明为public final static缺陷会造成哪些后果?

程序数据会被修改,可能产生不利影响。

四、数组声明为public final static缺陷的防范和修补方法有哪些?

大部分情况下,数组声明应为private。

五、数组声明为public final static缺陷样例:

1-1.jpg

软件静态代码检测工具分析 上述程序代码,则可以发现代码中存在着“数组声明为public final static缺陷” 导致的 代码缺陷,如下图:

2-1.jpg

数组声明为public final static缺陷在CWE中被编号为CWE-582:Array Declared Public, Final, and Static


本文作者:中科天齐软件安全

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/170511.html

Tags:
评论  (0)
快来写下你的想法吧!

中科天齐软件安全

文章数:95 积分: 45

WuKong软件源代码静态检测工具,为客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞与逻辑漏洞,帮助用户提升抵御网络攻击。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号