如何修复org.glassfish.web:jakarta.servlet.jsp.jstl:3.0.1的CVE-2021-28170漏洞?找不到新版库
问题分析与解决建议
- 你搞混了组件归属:CVE里提到的Jakarta Expression Language(EL)实现对应的是独立的EL核心组件,不是你当前使用的
org.glassfish.web/jakarta.servlet.jsp.jstl(JSTL包)。JSTL仅依赖EL,但EL本身有单独的API和实现包。 - 正确的EL实现包:官方的EL实现是
org.glassfish/jakarta.el,这个包在Maven仓库中存在3.0.4版本,你需要升级这个包来修复CVE问题,而非纠结JSTL的版本。 - 具体操作:
- 检查项目依赖,找出所有与
jakarta.el相关的依赖项(含API和实现) - 将EL实现包的版本升级至3.0.4及以上
- 若你使用的是Tomcat等容器自带的EL实现,需对应升级容器版本,或在项目中引入独立的EL实现包以覆盖容器自带版本
- 检查项目依赖,找出所有与
内容的提问来源于stack exchange,提问作者Bob Brown
相关产品推荐
相关产品推荐

