修复关键资源的错误权限分配 (CWE 732)

2023-12-22

一段时间以来我一直在寻找这个问题的解决方案。我发现的一些资源建议使用 java.nio 库,但它并没有为我解决这个问题。我正在使用 Java,并且在我的服务中的多个位置已对此进行了标记。一些标记的示例...

private Writer writer
private FileOutputStream outputStream
outputStream = new FileOutputStream(file.getAbsolutePath(), true)

我发现另一个线程谈论了这个特定的漏洞,其内容大致如下......

File file = path.toFile()
File directory = new File(location)

这是用哪个解决的file.setReadable(true), and directory.setReadable(true, false)。我似乎无法找到针对输出流或文件写入器标记的其他类型权限的解决方案。有人可以阐明这个问题吗?啊,代码分析软件正在标记该漏洞。我不确定它是动态的还是静态的,但它是我们服务扫描漏洞的自动化过程。


实际上花了一段时间才理解这个弱点,我读了很大一部分https://cwe.mitre.org/data/definitions/732.html https://cwe.mitre.org/data/definitions/732.html在做的时候。因此,问题是,当您使用 Java IO 创建文件时,它们的创建没有考虑系统访问权限。我们通常不希望主机上的每个人都可以通过设置默认掩码来访问我们创建的文件,例如rw-rw-rw-在Linux中。

不幸的是,Java IO 几乎没有办法限制文件访问权限。好消息是,Java 的 NIO 有更好的方法来做到这一点。请查看如何以编程方式更改文件权限? https://stackoverflow.com/questions/664432/how-do-i-programmatically-change-file-permissions是否能解决您的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

修复关键资源的错误权限分配 (CWE 732) 的相关文章

随机推荐