0

我们刚刚收到有关我们交付的 J2ME 应用程序安全性的反馈,而且似乎 Veracode 将在 Resources.Open("/res/resfile.res") 中调用的 getClass().getResourceAsStream() 视为安全漏洞.

http://www.cvedetails.com/cwe-details/73/External-Control-of-File-Name-or-Path.html

这里的问题是资源不是由用户输入给出的,而是以我在此处显示的方式调用的。但是,出于某种原因,我们正在处理的公司不会接受误报。

是否有任何替代方法来加载资源,使其不使用 getResourceAsStream 并通过 Veracode 测试?

4

2 回答 2

3

不,没有其他方法可以为 J2ME 加载内部资源。您需要getResourceAsStream()Class对象上使用。

这不是安全漏洞。我认为 Veracode 很困惑。看起来他们认为您正在从用户 SD 卡或内部手机存储中加载外部文件 - 这确实是一个安全漏洞。但事实并非getResourceAsStream()如此。

您可以阅读的唯一内容getResourceAsStream()是您自己创建的 JAR 中包含的文件。

我认为您唯一能做的就是尝试向 Veracode 解释这一点。因为这绝对不是安全漏洞。

于 2014-02-24T13:01:47.947 回答
2

您可以将文件的所有内容放在 java-classes 中。但这并不好玩,而且也不安全。

于 2014-02-25T18:25:44.973 回答