标题SpringBoot1.5.8 简单解决Spring框架RFD(反射型文件下载)漏洞
我的程序采用的是springboot+gradle模式,
修复此漏洞的版本为Spring Framework:
5.2.9
5.1.18
5.0.19
4.3.29
而我的springboot版本为1.5.8只能将spring Framework版本由默认的4.3.12升级为4.3.29。需要修改build.gradle配置文件,增加Spring Framework的版本要求:
ext {
springVersion = ‘4.3.29.RELEASE’
}
allprojects {
dependencies {
dependency(“org.springframework:spring-aop:
s
p
r
i
n
g
V
e
r
s
i
o
n
"
)
d
e
p
e
n
d
e
n
c
y
(
"
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
:
s
p
r
i
n
g
−
b
e
a
n
s
:
{springVersion}") dependency("org.springframework:spring-beans:
springVersion")dependency("org.springframework:spring−beans:{springVersion}”)
dependency(“org.springframework:spring-context:
s
p
r
i
n
g
V
e
r
s
i
o
n
"
)
d
e
p
e
n
d
e
n
c
y
(
"
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
:
s
p
r
i
n
g
−
c
o
n
t
e
x
t
−
s
u
p
p
o
r
t
:
{springVersion}") dependency("org.springframework:spring-context-support:
springVersion")dependency("org.springframework:spring−context−support:{springVersion}”)
dependency(“org.springframework:spring-core:
s
p
r
i
n
g
V
e
r
s
i
o
n
"
)
d
e
p
e
n
d
e
n
c
y
(
"
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
:
s
p
r
i
n
g
−
e
x
p
r
e
s
s
i
o
n
:
{springVersion}") dependency("org.springframework:spring-expression:
springVersion")dependency("org.springframework:spring−expression:{springVersion}”)
dependency(“org.springframework:spring-jdbc:
s
p
r
i
n
g
V
e
r
s
i
o
n
"
)
d
e
p
e
n
d
e
n
c
y
(
"
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
:
s
p
r
i
n
g
−
o
r
m
:
{springVersion}") dependency("org.springframework:spring-orm:
springVersion")dependency("org.springframework:spring−orm:{springVersion}”)
dependency(“org.springframework:spring-oxm:
s
p
r
i
n
g
V
e
r
s
i
o
n
"
)
d
e
p
e
n
d
e
n
c
y
(
"
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
:
s
p
r
i
n
g
−
t
e
s
t
:
{springVersion}") dependency("org.springframework:spring-test:
springVersion")dependency("org.springframework:spring−test:{springVersion}”)
dependency(“org.springframework:spring-tx:
s
p
r
i
n
g
V
e
r
s
i
o
n
"
)
d
e
p
e
n
d
e
n
c
y
(
"
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
:
s
p
r
i
n
g
−
w
e
b
:
{springVersion}") dependency("org.springframework:spring-web:
springVersion")dependency("org.springframework:spring−web:{springVersion}”)
dependency(“org.springframework:spring-webmvc:${springVersion}”)
}
}
第二种方法就是springboot升级到2.3.4,、2.2.10,、2.1.17三个版本,默认对应的spring Framework版5.2.9、5.1.18、5.0.19也可以修复此问题。
我也试过springboot升级到2.1.17版本,经过一番修改程序没有问题,却在打包后部署到weblogic12C版本时提示 tomcat-embled-el-9.0.38.jar!/META-INF/web-fragment.xml problem:cvc-enumeration-valid:string value ‘4.0’ is not a valid enumeration value for web-app-versionType is namespace。目前还在研究中,估计是因为版本冲突的原因。