보안성심의 오픈소스 조치
This commit is contained in:
+27
-4
@@ -75,7 +75,11 @@ dependencies {
|
||||
api 'io.micrometer:micrometer-core:1.5.17'
|
||||
api 'io.micrometer:micrometer-registry-prometheus:1.5.17'
|
||||
|
||||
implementation "com.google.code.gson:gson:2.3.1"
|
||||
// gson 2.3.1 -> 2.8.9 (CVE-2022-25647: 악의적 데이터 역직렬화 시 메모리 고갈/DoS)
|
||||
// 사용처는 Jsons(new Gson), AlarmService(fromJson), TemplateAdapterErrorMsgHandler(JsonParser),
|
||||
// alarm/ums/payload/*(@SerializedName) 4곳뿐이고 사용 API 는 그대로 유지된다.
|
||||
// (new JsonParser().parse() 는 2.8.9 에서 deprecated 이지만 제거되지 않아 동작에 영향 없음)
|
||||
implementation "com.google.code.gson:gson:2.8.9"
|
||||
|
||||
//api "com.eactive:mina-core-1.0.10-custom:1.0:custom@jar"
|
||||
api ("org.apache.mina:mina-filter-ssl:1.0.10") {
|
||||
@@ -91,10 +95,23 @@ dependencies {
|
||||
|
||||
api 'com.nimbusds:nimbus-jose-jwt:9.24.3'
|
||||
|
||||
api 'org.bouncycastle:bcprov-jdk15on:1.70'
|
||||
// BouncyCastle: bcprov-jdk15on 라인은 1.70에서 종료되어 후속 패치가 없다.
|
||||
// jdk18on 라인으로 전환한다(패키지명·프로바이더명("BC") 동일 → 소스 변경 없음,
|
||||
// 클래스파일 major 52 / Bundle-RequiredExecutionEnvironment: JavaSE-1.8 이라 JDK 8 유지 가능).
|
||||
// 사용처: AESCryptoModuleExtension, ARIACryptoModuleExtension
|
||||
// (BouncyCastleProvider 등록, ARIA 알고리즘, FPE 모드의 FPEParameterSpec)
|
||||
// 1.70 대비 CVE-2023-33201 / CVE-2024-29857 / CVE-2024-30171 / CVE-2024-30172 해소.
|
||||
// bcpkix 는 spring-security-jwt 가 전이로 끌고 오던 1.64 를 대체한다(아래 exclude 참조).
|
||||
api 'org.bouncycastle:bcprov-jdk18on:1.78.1'
|
||||
api 'org.bouncycastle:bcpkix-jdk18on:1.78.1'
|
||||
|
||||
api "io.undertow:undertow-servlet:${undertowVersion}"
|
||||
api 'org.java-websocket:Java-WebSocket:1.3.9'
|
||||
// Java-WebSocket 1.3.9 -> 1.5.7 (CVE-2020-11050: 구형 암호화 통신/인증서 검증 결함에 의한 MitM)
|
||||
// 사용 API 는 WebSocketServer 상속(onOpen/onClose/onMessage/onError/onStart)과
|
||||
// WebSocket 의 send/close/getRemoteSocketAddress/isOpen, start()/stop(timeout) 뿐이라
|
||||
// 1.4.0 의 파괴적 변경(WebSocketImpl.DEBUG 제거, Draft_10/17 제거, connections() -> getConnections())
|
||||
// 에 해당하는 사용처가 없다. 1.5.x 는 로깅을 SLF4J 로 하는데 이미 클래스패스에 있다.
|
||||
api 'org.java-websocket:Java-WebSocket:1.5.7'
|
||||
api 'javax.cache:cache-api:1.1.1'
|
||||
|
||||
api 'org.apache.ignite:ignite-slf4j:2.14.0'
|
||||
@@ -146,7 +163,13 @@ dependencies {
|
||||
// XmlMapper/JacksonXml* 사용처가 전 소스에 0건이고, 선언 버전(2.13.1)이
|
||||
// 실제 해석되는 jackson-core/databind(2.12.7)와 마이너 불일치라 승격 시 위험했다.
|
||||
|
||||
api "org.springframework.security:spring-security-jwt:1.1.1.RELEASE"
|
||||
// bcpkix-jdk15on:1.64 -> bcprov-jdk15on:1.64 를 전이로 끌고 온다.
|
||||
// 위에서 jdk18on 으로 전환했으므로 함께 두면 org.bouncycastle.* 클래스가 중복되고
|
||||
// 로딩 순서에 따라 구버전이 선택될 수 있다. 전이를 끊고 jdk18on 만 사용한다.
|
||||
// (이 exclude 는 발행 POM 에도 기록되어 이 모듈을 참조하는 타 사이트에도 동일 적용된다)
|
||||
api ("org.springframework.security:spring-security-jwt:1.1.1.RELEASE") {
|
||||
exclude group: 'org.bouncycastle'
|
||||
}
|
||||
|
||||
testRuntimeOnly 'com.h2database:h2:2.1.214'
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
|
||||
|
||||
Reference in New Issue
Block a user