我们使用引入jakarta.el的quarkus-hibernate-validator。但是最近所有版本的jakarta.el都被NexusIQ标记为存在严重的漏洞。
https://securitylab.github.com/advisories/GHSL-2020-021-jakarta-el/
详细信息如下:
漏洞问题声音类型-2020-1438问题声音类型-2020-1438严重程度声音类型CVSS 3:7.5 CVE CVSS 2.0:0.0弱点声音类型CWE:20来源声音类型数据研究类别数据解释jakarta.el包包含不正确的输入验证漏洞。ELParser类中的LiteralExpression方法无法正确识别文字表达式。因此,无效表达式的计算就好像它们是有效的一样。远程攻击者可以通过手工创建一个包含$或#符号、后跟反斜杠、/和负载的EL表达式来攻击此漏洞。这将绕过当前的验证,并导致解析器计算表达式,从而可能允许远程代码执行。
通过使用此组件检测应用程序是否易受攻击。
建议此组件/包没有非易受攻击的升级路径。我们建议研究替代组件或潜在的缓解控制。
根本原因jakarta.el-3.0.3.jbossorg-2.jarcom/sun/el/parser/ELParser.class(,)建议第三方:https://securitylab.github.com/advisories/GHSL-2020-021-jakarta-el/ CVSS详细信息CVSS 3:7.5
Quarkus团队对此有什么建议吗?
发布于 2021-06-08 03:27:31
您已经有了4.0.0版本,尝试更新pom,我将其放在标记属性4.0.0中,或者声明所有依赖项。
链接解决方案要求您创建一个拦截器来获取GET、DELETE、UPDATE类型的请求参数。对于POST类型的请求,获取主体的json
public String replaceElDelimiter(final String value) {
if (value != null) {
return value.replaceAll("\\$+\\{", "{");
}
return null;
}删除${后,将值添加到参数或正在使用的正文中
https://stackoverflow.com/questions/67425973
复制相似问题