在我们的 Windows 应用程序中,我们具有将文件下载到 dekstop 中的本地文件夹的功能。为了实现这一点,我们遵循以下代码。
internal void CreateDirectory(string fileName)
{
string path = $"{Environment.ExpandEnvironmentVariables("%userProfile%")}{fileName}";
if (Path.IsPathFullyQualified(path))
{ Directory.CreateDirectory(path); }
}
但是,当我们上传用于以 veracode 进行扫描的包时,会出现中等漏洞,该漏洞 ID 为 CWE 73(文件名或路径的外部控制)。
我们尝试通过检查路径是否合格以及根是否存在来向该方法添加验证。但是还是报目录遍历漏洞?
我想知道是否应该添加任何其他自定义验证逻辑来处理该缺陷。请问你能建议吗?