[英]Path manipulation issue Fortify
嗨,我已经使用Fortify工具扫描了一个应用程序,在生成的报告中,以下方法遇到了路径操纵问题。
注意:报告中未显示错误行号。 有人可以建议我如何解决吗?
private MimeMessage prepareMessage(EmailMessage req) throws EmailProviderException {
long start=System.currentTimeMillis(),finish=0;
try {
MimeMessage message = emailSender.createMimeMessage();
// create a multipart message
MimeMessageHelper helper = new MimeMessageHelper(message, true);
// set email addresses
helper.setFrom(convertAddress(req.getFromAddress()));
helper.setTo(convertAddress(req.getToAddress()));
helper.setCc(convertAddress(req.getCcAddress()));
helper.setBcc(convertAddress(req.getBccAddress()));
// set subject and body
helper.setSubject(req.getEmailSubject());
String emailBody = req.getEmailBody();
String emailMime = req.getEmailMimeType();
MimeBodyPart messagePart = new MimeBodyPart();
DataSource bodyDataSource = new ByteArrayDataSource(emailBody, emailMime);
messagePart.setDataHandler(new DataHandler(bodyDataSource));
helper.getMimeMultipart().addBodyPart(messagePart);
// add attachments
List<EmailAttachment> lAttach = req.getEmailAttachment();
if (lAttach != null) {
for (EmailAttachment attachMnt: lAttach) {
DataSource dSource = new ByteArrayDataSource(attachMnt
.getContent(), attachMnt
.getMimeType());
helper.addAttachment(attachMnt.getFileName(), dSource);
}
}
finish=System.currentTimeMillis();
statsLogger.info(new FedExLogEntry("prepareMessage took {0}ms",new Object[]{finish-start}));
return message;
} catch (Exception e) {
// covers MessagingException, IllegalStateException, IOException, MailException
String emsg = new StringBuilder("Unable to prepare smtp message.")
.append("\n").append(req.toString()).toString();
logger.warn(emsg, e);
throw new EmailProviderException(emsg, e);
}
}
嗯 如果Fortify在尝试向您显示问题所在的正确行时遇到问题,则Fortify在扫描并将结果呈现到FPR时可能会遇到解析错误。 您可以尝试做的一件事是在不同的build-id下重新扫描应用程序并生成一个新的FPR。 除此之外,我不知道。 抱歉。 我建议您检查一下您的日志文件,以查看翻译/扫描期间是否有任何错误或警告。
但是在查看了您的代码示例之后,我认为Fortify正在污染参数req
并标记尝试将文件添加为附件时发生的操作。 您的接收器最有可能在helper.addAttachment(attachMnt.getFileName(), dSource);
您想要先验证附件本身的文件名,然后再尝试将其保存到磁盘。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.