diff --git a/.github/dependency-check-suppressions.xml b/.github/dependency-check-suppressions.xml index fbf9371b..061f1c6f 100644 --- a/.github/dependency-check-suppressions.xml +++ b/.github/dependency-check-suppressions.xml @@ -1,3 +1,24 @@ + + + + .*aws-xray-recorder-sdk-sql-mysql.* + cpe:/a:mysql:mysql + + + + .*aws-xray-recorder-sdk-sql-mysql.* + cpe:/a:www-sql_project:www-sql + + + + + .*jackson-databind.* + CVE-2023-35116 + diff --git a/.github/trivy/daily-scan.trivyignore.yaml b/.github/trivy/daily-scan.trivyignore.yaml index 940269c2..2ae939ce 100644 --- a/.github/trivy/daily-scan.trivyignore.yaml +++ b/.github/trivy/daily-scan.trivyignore.yaml @@ -2,7 +2,6 @@ # SPDX-License-Identifier: Apache-2.0 # Trivy ignore file for daily scans. -# This file is intentionally empty. Daily scans should flag all CVEs. # See: https://aquasecurity.github.io/trivy/latest/docs/configuration/filtering/ # Format: @@ -10,4 +9,26 @@ # statement: " " # expired_at: -vulnerabilities: [] +vulnerabilities: + # The AWS SDK for Java v1 (com.amazonaws:aws-java-sdk-core:1.12.788) reached EOL + # on 2025-12-31 and will not receive further releases. Its published JARs embed POM + # metadata declaring jackson-core 2.12.7 as a dependency — this cannot be changed. + # The X-Ray SDK still supports AWS SDK v1 instrumentation via the + # aws-xray-recorder-sdk-aws-sdk module, but the actual jackson-core JAR resolved + # at runtime is 2.18.6 (provided by the X-Ray SDK's own jackson BOM). Maven + # dependency mediation ensures the higher version wins. These Trivy findings are + # from third-party POM metadata only, not the actual runtime JARs. + - id: CVE-2025-52999 + paths: + - "META-INF/maven/com.amazonaws/aws-java-sdk-core/pom.xml" + - "META-INF/maven/com.amazonaws/aws-java-sdk-xray/pom.xml" + - "META-INF/maven/com.amazonaws/jmespath-java/pom.xml" + statement: "AWS SDK v1 EOL (1.12.788 is final release) — jackson-core 2.12.7 in POM metadata only. Actual runtime JAR is 2.18.6 via X-Ray SDK BOM." + expired_at: 2027-03-25 + - id: GHSA-72hv-8253-57qq + paths: + - "META-INF/maven/com.amazonaws/aws-java-sdk-core/pom.xml" + - "META-INF/maven/com.amazonaws/aws-java-sdk-xray/pom.xml" + - "META-INF/maven/com.amazonaws/jmespath-java/pom.xml" + statement: "AWS SDK v1 EOL (1.12.788 is final release) — jackson-core 2.12.7 in POM metadata only. Actual runtime JAR is 2.18.6 via X-Ray SDK BOM." + expired_at: 2027-03-25 diff --git a/aws-xray-recorder-sdk-aws-sdk-v2/build.gradle.kts b/aws-xray-recorder-sdk-aws-sdk-v2/build.gradle.kts index bd3007d3..a5c030ae 100644 --- a/aws-xray-recorder-sdk-aws-sdk-v2/build.gradle.kts +++ b/aws-xray-recorder-sdk-aws-sdk-v2/build.gradle.kts @@ -8,14 +8,17 @@ dependencies { implementation(project(":aws-xray-recorder-sdk-aws-sdk-core")) - api("software.amazon.awssdk:aws-core:2.15.20") + api("software.amazon.awssdk:aws-core:2.30.31") + + implementation("com.fasterxml.jackson.core:jackson-databind") + implementation("com.fasterxml.jackson.core:jackson-core") testImplementation("org.skyscreamer:jsonassert:1.3.0") - testImplementation("software.amazon.awssdk:dynamodb:2.15.20") - testImplementation("software.amazon.awssdk:lambda:2.15.20") - testImplementation("software.amazon.awssdk:sqs:2.15.20") - testImplementation("software.amazon.awssdk:sns:2.15.20") - testImplementation("software.amazon.awssdk:s3:2.15.20") + testImplementation("software.amazon.awssdk:dynamodb:2.30.31") + testImplementation("software.amazon.awssdk:lambda:2.30.31") + testImplementation("software.amazon.awssdk:sqs:2.30.31") + testImplementation("software.amazon.awssdk:sns:2.30.31") + testImplementation("software.amazon.awssdk:s3:2.30.31") } tasks.jar { diff --git a/aws-xray-recorder-sdk-aws-sdk-v2/src/test/java/com/amazonaws/xray/interceptors/TracingInterceptorTest.java b/aws-xray-recorder-sdk-aws-sdk-v2/src/test/java/com/amazonaws/xray/interceptors/TracingInterceptorTest.java index 2591effd..9e52d419 100644 --- a/aws-xray-recorder-sdk-aws-sdk-v2/src/test/java/com/amazonaws/xray/interceptors/TracingInterceptorTest.java +++ b/aws-xray-recorder-sdk-aws-sdk-v2/src/test/java/com/amazonaws/xray/interceptors/TracingInterceptorTest.java @@ -173,14 +173,15 @@ public void testResponseDescriptors() throws Exception { @Test public void testSqsSendMessageSubsegmentContainsQueueUrl() throws Exception { - SdkHttpClient mockClient = mockClientWithSuccessResponse( - "" + - "" + - "b10a8db164e0754105b7a99be72e3fe5" + - "abc-def-ghi" + - "" + - "123-456-789" + - "" + SdkHttpResponse mockResponse = SdkHttpResponse.builder() + .statusCode(200) + .putHeader("x-amzn-RequestId", "123-456-789") + .build(); + SdkHttpClient mockClient = mockSdkHttpClient(mockResponse, + "{" + + "\"MD5OfMessageBody\":\"b10a8db164e0754105b7a99be72e3fe5\"," + + "\"MessageId\":\"abc-def-ghi\"" + + "}" ); SqsClient client = sqsClient(mockClient); diff --git a/aws-xray-recorder-sdk-spring/build.gradle.kts b/aws-xray-recorder-sdk-spring/build.gradle.kts index f9ea1232..277a96e4 100644 --- a/aws-xray-recorder-sdk-spring/build.gradle.kts +++ b/aws-xray-recorder-sdk-spring/build.gradle.kts @@ -9,9 +9,9 @@ dependencies { api("org.aspectj:aspectjrt:1.8.11") // TODO(anuraaga): Remove most of these? Seems only Configurable annotation is used - implementation("org.springframework:spring-context-support:5.3.18") - implementation("org.springframework:spring-context:5.3.18") - implementation("org.springframework:spring-aspects:5.3.18") + implementation("org.springframework:spring-context-support:5.3.39") + implementation("org.springframework:spring-context:5.3.39") + implementation("org.springframework:spring-aspects:5.3.39") compileOnly("org.springframework.data:spring-data-commons:2.6.3") } diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index daf701e9..ac32fc23 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -5,14 +5,14 @@ plugins { data class DependencySet(val group: String, val version: String, val modules: List) val DEPENDENCY_BOMS = listOf( - "com.fasterxml.jackson:jackson-bom:2.12.0", + "com.fasterxml.jackson:jackson-bom:2.18.6", "org.junit:junit-bom:5.8.2" ) val DEPENDENCY_SETS = listOf( DependencySet( "com.fasterxml.jackson.datatype", - "2.12.0", + "2.18.6", listOf("jackson-datatype-jsr310") ), DependencySet(