apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.22k stars 8.76k forks source link

seata-all 下的Druid.jar 存在安全漏洞,我应该怎么去解决这个安全漏洞,我们安全机制有点严格 #6683

Open caiqiqqq opened 2 months ago

caiqiqqq commented 2 months ago

Why you need it?

seata-all 下的druid.jar 存在安全漏洞,我应该怎么去解决这个安全漏洞,我们安全机制有点严格 我试过痛过maven打包的时候排除bruid.jar 还是会存在,怎么单独让他升级

image

How it could be?

A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.

Other related information

Add any other context or screenshots about the feature request here.

funky-eyes commented 2 months ago

因为seata的sqlparser是使用自己的druid,目前我们最新版本已经对使用的druid进行了升级,这个druid的版本是seata自己独立的classloader进行加载的,业务不会使用到这个jar,所以对业务侧自行引入的高版本druid不会有影响。

Because seata's sqlparser uses its own druid, our latest version has been upgraded to use the druid. The version of this druid is loaded by seata's own independent classloader, and the business will not use this jar, so it will not affect the higher version druid introduced by the business side.

caiqiqqq commented 1 month ago

因为seata的sqlparser是使用自己的druid,目前我们最新版本已经对使用的druid进行了升级,这个druid的版本是seata自己独立的classloader进行加载的,业务不会使用到这个jar,所以对业务侧自行引入的高版本druid不会有影响。

Because seata's sqlparser uses its own druid, our latest version has been upgraded to use the druid. The version of this druid is loaded by seata's own independent classloader, and the business will not use this jar, so it will not affect the higher version druid introduced by the business side.

seata 下面的这个druid 会去操作数据库吗? 什么情况下才会使用这个druid,为什么要在seata下面独立的使用这个druid,不采取maven的方式进行管理吗?那样不是更加的方便的?

funky-eyes commented 1 month ago

因为seata的sqlparser是使用自己的druid,目前我们最新版本已经对使用的druid进行了升级,这个druid的版本是seata自己独立的classloader进行加载的,业务不会使用到这个jar,所以对业务侧自行引入的高版本druid不会有影响。 Because seata's sqlparser uses its own druid, our latest version has been upgraded to use the druid. The version of this druid is loaded by seata's own independent classloader, and the business will not use this jar, so it will not affect the higher version druid introduced by the business side.

seata 下面的这个druid 会去操作数据库吗? 什么情况下才会使用这个druid,为什么要在seata下面独立的使用这个druid,不采取maven的方式进行管理吗?那样不是更加的方便的?

seata下的druid不会去操作数据库,只是用来解析sql。至于为什么要独立,是因为防止有依赖冲突之类的问题导致解析sql失败,造成业务报错之类的,seata需要一个通过严谨测试后的druid版本

caiqiqqq commented 1 month ago

因为seata的sqlparser是使用自己的druid,目前我们最新版本已经对使用的druid进行了升级,这个druid的版本是seata自己独立的classloader进行加载的,业务不会使用到这个jar,所以对业务侧自行引入的高版本druid不会有影响。 Because seata's sqlparser uses its own druid, our latest version has been upgraded to use the druid. The version of this druid is loaded by seata's own independent classloader, and the business will not use this jar, so it will not affect the higher version druid introduced by the business side.

seata 下面的这个druid 会去操作数据库吗? 什么情况下才会使用这个druid,为什么要在seata下面独立的使用这个druid,不采取maven的方式进行管理吗?那样不是更加的方便的?

seata下的druid不会去操作数据库,只是用来解析sql。至于为什么要独立,是因为防止有依赖冲突之类的问题导致解析sql失败,造成业务报错之类的,seata需要一个通过严谨测试后的druid版本

![Uploading image.png…]()

是所有druid的都过滤,还是就seata的druid过滤

caiqiqqq commented 1 month ago

image

funky-eyes commented 1 month ago

你只要保证你自己用的druid是高版本就行了,业务不会加载到seata内部的druid You just need to ensure that the druid you use is a high version, and the business will not be loaded into the druid inside seata.