Java ESAPI库中是否存在可以确保在veracode SAST扫描中不会出现CWE-93漏洞的验证?

Java ESAPI库中是否存在可以确保在veracode SAST扫描中不会出现CWE-93漏洞的验证?,java,validation,esapi,veracode,crlf-vulnerability,Java,Validation,Esapi,Veracode,Crlf Vulnerability,我在Veracode平台上对我的代码进行了SAST扫描,我在Java邮件功能中发现了这个漏洞,我正在使用它从我的应用程序发送邮件。以下是即将出现的漏洞-CRLF序列“CRLF注入”CWE ID 93的不正确中和 message.setsubject subjectofemail 我听说我们可以使用ESAPI库,但我找不到合适的验证函数。请有人帮助我重新解决此问题,以便扫描中不再出现此问题。查看Veracode帮助中心上的此页面,该页面列出了将修复某些缺陷类别的验证库: 有一系列ESAPI库将修复

我在Veracode平台上对我的代码进行了SAST扫描,我在Java邮件功能中发现了这个漏洞,我正在使用它从我的应用程序发送邮件。以下是即将出现的漏洞-CRLF序列“CRLF注入”CWE ID 93的不正确中和

message.setsubject subjectofemail


我听说我们可以使用ESAPI库,但我找不到合适的验证函数。请有人帮助我重新解决此问题,以便扫描中不再出现此问题。

查看Veracode帮助中心上的此页面,该页面列出了将修复某些缺陷类别的验证库:

有一系列ESAPI库将修复CWSE93缺陷,包括

org.owasp.esapi.Encoder.encodeForHTML

如果您在本例中希望防止的只是与CWEID93相关的头注入问题,那么请查看ESAPI的org.owasp.ESAPI.StringUtilities类。特别是静态方法stripControls可能正是您所需要的。使用Encoder.encodeForHTML可能会进行更多的编码,因为它假设了一个HTML上下文。当然,如果您担心在某些web电子邮件客户端的主题头上防止XSS,那么您可能需要这样做。一般来说,这些客户机应该已经内置了这种保护,所以如果您对其进行编码,它可能会被编码两次而无法正确呈现


请记住,如果使用StringUtilities.stripControls,Veracode的SAST引擎可能仍然会为CWE标记代码,但我不确定它是否会将该类的方法识别为在这种特定情况下删除污染标记。但您可以将其作为缓解意见提及。

使用ESAPI的decodeForHTML方法,如下面的示例所示

ESAPI.encoder.decodeForHTMLsubjectOfEmail