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

问题描述 投票:0回答:1

我一段时间以来一直在寻找这个问题的解决方案。我发现的一些资源建议使用 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)
directory.setReadable(true, false)
解决了这个问题。我似乎无法找到针对输出流或文件写入器标记的其他类型权限的解决方案。有人可以阐明这个问题吗?啊,代码分析软件正在标记该漏洞。我不确定它是动态的还是静态的,但它是我们服务扫描漏洞的自动化过程。

java spring-boot security
1个回答
0
投票

实际上花了一段时间才理解这个弱点,并且我在做的过程中阅读了https://cwe.mitre.org/data/definitions/732.html的很大一部分。因此,问题是,当您使用 Java IO 创建文件时,它们的创建没有考虑系统访问权限。我们通常不希望通过设置像 Linux 中的

rw-rw-rw-
这样的默认掩码来让主机上的每个人都可以访问我们创建的文件。

不幸的是,Java IO 几乎没有办法限制文件访问权限。好消息是,Java 的 NIO 有更好的方法来做到这一点。请查看如何以编程方式更改文件权限?是否可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.