@@ -35,6 +35,22 @@ subprojects {
35
35
testRuntimeOnly(libs. junit. platform. launcher)
36
36
testImplementation(libs. mockito. core)
37
37
testImplementation(libs. mockito. junit. jupiter)
38
+
39
+ // Security constraints
40
+ constraints {
41
+ implementation(" ch.qos.logback:logback-core:1.5.15" ) {
42
+ because(" versions below 1.5.15 have security vulnerabilities - see dependabot #7, #6" )
43
+ }
44
+ implementation(" ch.qos.logback:logback-classic:1.5.15" ) {
45
+ because(" versions below 1.5.15 have security vulnerabilities - see dependabot #7, #6" )
46
+ }
47
+ implementation(" org.springframework:spring-web:6.2.8" ) {
48
+ because(" versions below 6.2.8 have security vulnerabilities including CVE-2024-38820 - see dependabot #12" )
49
+ }
50
+ implementation(" org.apache.tomcat.embed:tomcat-embed-core:10.1.42" ) {
51
+ because(" versions below 10.1.42 have security vulnerabilities including CVE-2024-56337 - see dependabot #13" )
52
+ }
53
+ }
38
54
}
39
55
40
56
jacoco {
@@ -80,23 +96,4 @@ subprojects {
80
96
ruleSets = [" $rootDir /ruleset.xml" ]
81
97
}
82
98
83
- // Needed for security. See:
84
- // - https://github.com/getyourguide/openapi-validation-java/security/dependabot/7
85
- // - https://github.com/getyourguide/openapi-validation-java/security/dependabot/6
86
- // Hopefully with spring-boot 3.4.2+ this won't be needed anymore and can be removed.
87
- configurations. configureEach {
88
- resolutionStrategy. eachDependency {details ->
89
- if (details. requested. group == ' ch.qos.logback'
90
- && (details. requested. name == ' logback-core' || details. requested. name == ' logback-classic' )
91
- ) {
92
- def parse = { String v -> v. tokenize(' .' ). collect { it. padLeft(3 , ' 0' ) }. join() }
93
- def current = parse(details. requested. version)
94
- def minimum = parse(' 1.5.15' )
95
- if (current < minimum) {
96
- details. useVersion ' 1.5.15'
97
- details. because ' Security requirement: forcing logback version'
98
- }
99
- }
100
- }
101
- }
102
99
}
0 commit comments