依赖传递中某依赖版本低造成安全漏洞问题

问题描述

由于在项目中间接引用poi依赖,此依赖版本过低导致漏洞。


原因分析:

Apache POI 版本<= 4.1.0 中,当使用 XSSFExportToXml 工具转换用户提供的 Excel 文档时,可以在 xmlMaps.xml 加入恶意代码制作成 excel 文档,

漏洞是在使用 XSSFExportToXml 类 xlsx 转 xml 时触发的

对比版本 4.1.0 和 4.1.1 XSSFExportToXml 类的源码,发现在 isValid 方法里多设置了一个 feature,

问题就出在org.apache.poi.xssf.extractor.XSSFExportToXml#isValid 方法里,

如果org.apache.poi.xssf.extractor.XSSFExportToXml#exportToXML(java.io.OutputStream, java.lang.String, boolean) 方法的第三个参数为 true 则会进入 isValid 触发XML External Entity处理在服务器读取文件资源或发送外部请求


解决方案:

  1. 如果不使用poi,由于间接依赖引入了poi,则在pom文件中使用exclude排除poi
  1. 如果使用poi,则在pom文件中使用指定poi版本超过4.1.0.
相关推荐
我是唐青枫5 分钟前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
ihuyigui32 分钟前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端
海棠Flower未眠36 分钟前
SpringBoot 消息死信队列(荣耀典藏版)
java·数据库·spring boot
空中湖1 小时前
Spring AI 多模态实战:让 AI 看图、听声音、生成图片
人工智能·spring·语音识别
暖和_白开水1 小时前
数据分析agent (七):contextvars 模块上下文request_id
java·前端·数据分析
weixin_727535622 小时前
MinIO大文件上传深度拆解:从原理到生产落地的完整指南
java·中间件
suaizai_2 小时前
Spring7新宠:RestClient全面解析
spring
摇滚侠2 小时前
Java 全栈开发实战教程 课程笔记 34-36
java·笔记
芝士熊爱编程2 小时前
创建型模式-单例模式
java·单例模式·设计模式
大模型码小白3 小时前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring