【问题标题】:Where can I find JSTL version 1.2.3 or newer?在哪里可以找到 JSTL 版本 1.2.3 或更高版本?
【发布时间】:2021-02-12 06:16:06
【问题描述】:

我在我的应用程序中使用 jstl-1.1.2 jar。 Veracode 显示使用此标签库的高漏洞。 Veracode 显示 1.2.3 之前版本的漏洞。在我的研究中,我只能找到 1.2 版。这个 jar 有 1.2.3 版本吗?或者有什么办法可以修复这个漏洞?

我有哪些选择?请提出建议。

我的 Maven 依赖项如下所示:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.1.2</version>
</dependency>

【问题讨论】:

  • “或者我能做些什么来修复这个漏洞?” 只是不要使用 JSTL &lt;x:parse&gt; 和 &lt;x:transform&gt; 标签。这两个是唯一具有漏洞的 JSTL 标签。然而,它们很少使用,因为整个 &lt;x:xxx&gt; 和 &lt;sql:xxx&gt; 标签库自 JSP 2.0(2003 年)起正式不鼓励用于生产应用程序,建议仅用于原型设计。

标签: maven jstl


【解决方案1】:

Maven 存储库显示 v.1.2 可用(2011 年 6 月 23 日):

<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

此外,JSTL 已移至另一个地方,v.1.2(2015 年 5 月 14 日)

<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

同样,Maven 仓库显示v.1.2.5 for taglibs 可用:

<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
<dependency>
    <groupId>org.apache.taglibs</groupId>
    <artifactId>taglibs-standard-impl</artifactId>
    <version>1.2.5</version>
</dependency>

因此,只有标记库可以更新到 v.1.2.5 以缓解this vulnerability:

此软件包的受影响版本容易受到 XML 外部实体 (XXE) 注入的攻击。 1.2.3 之前的 Apache Standard Taglibs 允许远程攻击者通过 或 JSTL XML 标记中精心设计的 XSLT 扩展执行任意代码或进行外部 XML 实体 (XXE) 攻击。

【讨论】:

  • 1.2 仍然存在漏洞。可接受的版本是 1.2.3
  • 只更新了taglibs,最新版本是我上面提到的1.2.5。 Snyk report for taglibs。 JSTL 更新不可用:SNYK report on JSTL
  • 感谢 Alex Rudenko !!我已将 taglibs 版本更新为 1.2.3,它工作正常。我现在唯一关心的是 Jstl。
  • 该修复似乎仅适用于标记库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 2017-01-23
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-03
相关资源
最近更新 更多