2016-11-07 85 views
3

在我的項目,我使用更新捆綁的taglib標準版裏面JSTL 1.2

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.2</version> 
    <type>jar</type> 
    </dependency> 

但經過我們的安全團隊評估了罐子就發現,捆綁org.apache.taglibs:標準瓶是1.2版本。 1,存在安全漏洞(https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-0254)。 Apache已經在1.2.3版中修復了它(https://tomcat.apache.org/taglibs/standard/)。

另外,META-INF/c.tld表明它實際上是JSTL版本1.1而不是1.2(見JSTL version 1.2 declared but 1.1 delivered from Maven Repository)。也許這個錯誤是連接到錯誤的taglibs標準版本?

不過,我應該怎麼做才能更新jstl中捆綁的taglibs標準版本?

+0

至於vulrenability,這是真正的web應用程序使用JSTL的XML標籤? (例如)。從十多年前的JSP 2.0開始,它們的使用受到了極大的鼓勵(與JSTL SQL標籤一起),您應該使用「普通」的JAXP或JAXB。只要你的web應用程序不在任何地方使用不鼓勵JSTL (或)標籤,它應該是安全的。 – BalusC

+0

你應該刪除易受攻擊的罐子,清理你的本地倉庫,修復'pom.xml'中的錯誤,清理臨時文件夾或重新創建項目,重建,重新打包。如果你完成了所有這些步驟,那麼它應該更新庫,否則你應該問一個能夠幫助的人。 –

+0

@BalusC tbh,不知道它是否被使用。 「我的項目」是指企業級應用程序,我的唯一任務是修復安全漏洞。 RomanC我不認爲這有幫助,因爲這是來自中央maven回購的最新官方jar。它只是沒有得到與它捆綁的最新罐子更新。 – sceiler

回答

0

而是需要的組件三個最新版本的全jstl-1.2.jar下載:

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

<!-- 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> 

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