vaadin jsoup 安全警报

vaadin jsoup security alert

在最近的安全警报中,引用 here,我发现 Vaadin 7 可能存在安全问题,因为存在 jsoup 漏洞。由于其他因素,我无法升级。所以我考虑直接在我的项目中包含 jsoup。因此,之前它是通过 vaadin-server 间接包含的,现在是直接包含的,并且 vaadin-server 引用的版本“因与 1.14.2 冲突而被省略”。这是解决此安全问题的安全方法吗?

我正在使用 Vaadin 7.7.17 和 maven。

我问主要是因为 Vaadin 没有提供这个作为可能的解决方案,所以我认为它会失败。但是由于 Maven 没有显示任何错误,我担心我遗漏了一些只会出现在一些奇怪的运行时行为中的东西。

这里是通过mvn dependency:tree构建的依赖树。首先,原始版本,精简版:

[INFO] Scanning for projects...
[INFO] 
[INFO] ---------------------< com.mobiwms:vaadinwebsite >----------------------
[INFO] Building vaadinwebsite 4.0.31
[INFO] --------------------------------[ war ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ vaadinwebsite ---
[INFO] com.mobiwms:vaadinwebsite:war:4.0.31
[INFO] +- javax.servlet:javax.servlet-api:jar:3.0.1:provided
[INFO] +- com.vaadin:vaadin-server:jar:7.7.17:compile
[INFO] |  +- com.vaadin:vaadin-sass-compiler:jar:0.9.13:compile
[INFO] |  |  +- org.w3c.css:sac:jar:1.3:compile
[INFO] |  |  \- com.vaadin.external.flute:flute:jar:1.3.0.gg2:compile
[INFO] |  +- com.vaadin:vaadin-shared:jar:7.7.17:compile
[INFO] |  \- org.jsoup:jsoup:jar:1.8.3:compile
[INFO] +- com.vaadin:vaadin-push:jar:7.7.17:compile
[INFO] |  \- com.vaadin.external.atmosphere:atmosphere-runtime:jar:2.2.13.vaadin1:compile
[INFO] |     \- com.vaadin.external.slf4j:vaadin-slf4j-jdk14:jar:1.6.1:compile
[INFO] +- com.vaadin:vaadin-client:jar:7.7.17:provided
... // Stripped out unrelated portions of hierarchy.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.758 s
[INFO] Finished at: 2021-10-27T18:59:19-04:00
[INFO] ------------------------------------------------------------------------

现在是精简的新版本:

[INFO] Scanning for projects...
[INFO] 
[INFO] ---------------------< com.mobiwms:vaadinwebsite >----------------------
[INFO] Building vaadinwebsite 4.0.31
[INFO] --------------------------------[ war ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ vaadinwebsite ---
[INFO] com.mobiwms:vaadinwebsite:war:4.0.31
[INFO] +- javax.servlet:javax.servlet-api:jar:3.0.1:provided
[INFO] +- com.vaadin:vaadin-server:jar:7.7.17:compile
[INFO] |  +- com.vaadin:vaadin-sass-compiler:jar:0.9.13:compile
[INFO] |  |  +- org.w3c.css:sac:jar:1.3:compile
[INFO] |  |  \- com.vaadin.external.flute:flute:jar:1.3.0.gg2:compile
[INFO] |  \- com.vaadin:vaadin-shared:jar:7.7.17:compile
[INFO] +- com.vaadin:vaadin-push:jar:7.7.17:compile
[INFO] |  \- com.vaadin.external.atmosphere:atmosphere-runtime:jar:2.2.13.vaadin1:compile
[INFO] |     \- com.vaadin.external.slf4j:vaadin-slf4j-jdk14:jar:1.6.1:compile
[INFO] +- com.vaadin:vaadin-client:jar:7.7.17:provided
... // Stripped out unrelated portions of hierarchy.
[INFO] \- org.jsoup:jsoup:jar:1.14.2:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.285 s
[INFO] Finished at: 2021-10-27T18:56:01-04:00
[INFO] ------------------------------------------------------------------------

这里只是注意一下。 Vaadin 7 本身没有实际问题会因潜在的 Jsoup 漏洞而受到影响。依赖项已更新为更新版本,更多的目的是强制应用程序开发人员使用更新版本。较新版本的 Jsoup 有一些 API 更改,需要在 Vaadin 7 中进行少量代码更改。如果您的应用程序未以未暴露漏洞的方式使用 Jsoup,则升级不是绝对强制性的。还提醒 Vaadin 7 版本高于 7.7.17 需要商业许可才能获得扩展支持。