From d7d9d6833735601280fed00ca69055acaa0ea024 Mon Sep 17 00:00:00 2001 From: cx-anand-nandeshwar <73646287+cx-anand-nandeshwar@users.noreply.github.com> Date: Tue, 7 Apr 2026 14:07:03 +0530 Subject: [PATCH 1/6] - Fixed spring security vulnerability - AST-142710 --- checkmarx-ast-teamcity-plugin-server/pom.xml | 18 ++++++++++++++++++ pom.xml | 15 ++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/checkmarx-ast-teamcity-plugin-server/pom.xml b/checkmarx-ast-teamcity-plugin-server/pom.xml index 850db08..fa9d524 100644 --- a/checkmarx-ast-teamcity-plugin-server/pom.xml +++ b/checkmarx-ast-teamcity-plugin-server/pom.xml @@ -26,6 +26,12 @@ commons-httpclient commons-httpclient + + + org.springframework.security.oauth + spring-security-oauth2 + @@ -40,6 +46,13 @@ commons-httpclient commons-httpclient + + + org.springframework.security.oauth + spring-security-oauth2 + @@ -52,6 +65,11 @@ commons-httpclient commons-httpclient + + + org.springframework.security.oauth + spring-security-oauth2 + diff --git a/pom.xml b/pom.xml index a9b9860..77b56bc 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ UTF-8 UTF-8 6.2.11 - 6.3.5 + 6.5.9 @@ -88,6 +88,12 @@ commons-lang commons-lang + + + org.springframework.security.oauth + spring-security-oauth2 + @@ -135,6 +141,13 @@ commons-fileupload commons-fileupload + + + org.springframework.security.oauth + spring-security-oauth2 + From 5b45d392d089702de666bed5381d264a70cd389f Mon Sep 17 00:00:00 2001 From: cx-anand-nandeshwar <73646287+cx-anand-nandeshwar@users.noreply.github.com> Date: Wed, 8 Apr 2026 10:53:07 +0530 Subject: [PATCH 2/6] Fix transitive CVE vulnerabilities in dependency tree - AST-142710 Addresses three CVEs introduced via TeamCity transitive dependencies: 1. spring-security-web (CVE-2026-22732) - Affected: spring-security-web <= 6.5.8; HTTP response headers not written - Fix: pin springSecurity.version=6.5.9 in dependencyManagement - Exclude EOL spring-security-oauth2 from server-api, server-web-api, tests-support to sever the transitive pull chain at source 2. jackson-core async-parser DoS - Affected: jackson-core < 2.19.1; async parser bypasses maxNumberLength constraint, enabling unbounded memory/CPU usage (DoS) - Fix: pin jackson.version=2.21.1 for all jackson-* artifacts in dependencyManagement; exclude common-jackson (TeamCity internal bundle) from server-api, server-web-api, tests-support to cut the chain web-openapi -> common-jackson -> jackson-datatype-jdk8 -> jackson-core 3. commons-lang3 uncontrolled recursion (StackOverflowError DoS) - Affected: commons-lang3 3.0-3.17.0; ClassUtils.getClass() recurses unboundedly on crafted long inputs - commons-text 1.13.1 declared commons-lang3 @ 3.17.0 in its own POM, causing scanners to flag the path even with a managed-version override - Fix: upgrade commons-text to 1.15.0 (natively declares commons-lang3 3.20.0); pin commons-lang3.version=3.20.0 and commons-text.version=1.15.0 in dependencyManagement so no transitive path can reintroduce an older version; align common module direct declaration to use the property Co-Authored-By: Claude Sonnet 4.6 --- checkmarx-ast-teamcity-plugin-common/pom.xml | 3 +- checkmarx-ast-teamcity-plugin-server/pom.xml | 19 +++++ pom.xml | 84 +++++++++++++++++++- 3 files changed, 104 insertions(+), 2 deletions(-) diff --git a/checkmarx-ast-teamcity-plugin-common/pom.xml b/checkmarx-ast-teamcity-plugin-common/pom.xml index 3e39c86..5f54d3a 100644 --- a/checkmarx-ast-teamcity-plugin-common/pom.xml +++ b/checkmarx-ast-teamcity-plugin-common/pom.xml @@ -23,10 +23,11 @@ + org.apache.commons commons-lang3 - 3.18.0 + ${commons-lang3.version} diff --git a/checkmarx-ast-teamcity-plugin-server/pom.xml b/checkmarx-ast-teamcity-plugin-server/pom.xml index fa9d524..256ac9a 100644 --- a/checkmarx-ast-teamcity-plugin-server/pom.xml +++ b/checkmarx-ast-teamcity-plugin-server/pom.xml @@ -32,6 +32,13 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + @@ -53,6 +60,12 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + @@ -70,6 +83,12 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + diff --git a/pom.xml b/pom.xml index 77b56bc..e3eab61 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,20 @@ UTF-8 6.2.11 6.5.9 + + 2.21.1 + + 3.20.0 + + 1.15.0 @@ -148,6 +162,15 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + @@ -325,12 +348,71 @@ gson 2.12.0 - + org.apache.logging.log4j log4j-core 2.25.3 provided + + + + org.apache.commons + commons-text + ${commons-text.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + + + com.fasterxml.jackson.module + jackson-module-parameter-names + ${jackson.version} + From 1cfebb319b5ac495f0c015953eff43f27d8a25fe Mon Sep 17 00:00:00 2001 From: cx-anand-nandeshwar <73646287+cx-anand-nandeshwar@users.noreply.github.com> Date: Wed, 8 Apr 2026 10:53:07 +0530 Subject: [PATCH 3/6] Fix transitive CVE vulnerabilities in dependency tree - AST-142710 Addresses three CVEs introduced via TeamCity transitive dependencies: 1. spring-security-web (CVE-2026-22732) - Affected: spring-security-web <= 6.5.8; HTTP response headers not written - Fix: pin springSecurity.version=6.5.9 in dependencyManagement - Exclude EOL spring-security-oauth2 from server-api, server-web-api, tests-support to sever the transitive pull chain at source 2. jackson-core async-parser DoS - Affected: jackson-core < 2.19.1; async parser bypasses maxNumberLength constraint, enabling unbounded memory/CPU usage (DoS) - Fix: pin jackson.version=2.21.1 for all jackson-* artifacts in dependencyManagement; exclude common-jackson (TeamCity internal bundle) from server-api, server-web-api, tests-support to cut the chain web-openapi -> common-jackson -> jackson-datatype-jdk8 -> jackson-core 3. commons-lang3 uncontrolled recursion (StackOverflowError DoS) - Affected: commons-lang3 3.0-3.17.0; ClassUtils.getClass() recurses unboundedly on crafted long inputs - commons-text 1.13.1 declared commons-lang3 @ 3.17.0 in its own POM, causing scanners to flag the path even with a managed-version override - Fix: upgrade commons-text to 1.15.0 (natively declares commons-lang3 3.20.0); pin commons-lang3.version=3.20.0 and commons-text.version=1.15.0 in dependencyManagement so no transitive path can reintroduce an older version; align common module direct declaration to use the property --- checkmarx-ast-teamcity-plugin-common/pom.xml | 3 +- checkmarx-ast-teamcity-plugin-server/pom.xml | 19 +++++ pom.xml | 84 +++++++++++++++++++- 3 files changed, 104 insertions(+), 2 deletions(-) diff --git a/checkmarx-ast-teamcity-plugin-common/pom.xml b/checkmarx-ast-teamcity-plugin-common/pom.xml index 3e39c86..5f54d3a 100644 --- a/checkmarx-ast-teamcity-plugin-common/pom.xml +++ b/checkmarx-ast-teamcity-plugin-common/pom.xml @@ -23,10 +23,11 @@ + org.apache.commons commons-lang3 - 3.18.0 + ${commons-lang3.version} diff --git a/checkmarx-ast-teamcity-plugin-server/pom.xml b/checkmarx-ast-teamcity-plugin-server/pom.xml index fa9d524..256ac9a 100644 --- a/checkmarx-ast-teamcity-plugin-server/pom.xml +++ b/checkmarx-ast-teamcity-plugin-server/pom.xml @@ -32,6 +32,13 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + @@ -53,6 +60,12 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + @@ -70,6 +83,12 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + diff --git a/pom.xml b/pom.xml index 77b56bc..e3eab61 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,20 @@ UTF-8 6.2.11 6.5.9 + + 2.21.1 + + 3.20.0 + + 1.15.0 @@ -148,6 +162,15 @@ org.springframework.security.oauth spring-security-oauth2 + + + org.jetbrains.teamcity + common-jackson + @@ -325,12 +348,71 @@ gson 2.12.0 - + org.apache.logging.log4j log4j-core 2.25.3 provided + + + + org.apache.commons + commons-text + ${commons-text.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + + + com.fasterxml.jackson.module + jackson-module-parameter-names + ${jackson.version} + From 990b0314576e0f5f7adbc0e45f3f98e09431fd46 Mon Sep 17 00:00:00 2001 From: cx-anand-nandeshwar <73646287+cx-anand-nandeshwar@users.noreply.github.com> Date: Tue, 14 Apr 2026 21:37:13 +0530 Subject: [PATCH 4/6] Fix CI checkout failure caused by missing PERSONAL_ACCESS_TOKEN secret The integration-tests job was failing at the Checkout step with: fatal: could not read Username for 'https://github.com': terminal prompts disabled Root cause: actions/checkout was configured with token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} When the PAT secret is absent or expired the token resolves to an empty string, causing git to prompt for HTTPS credentials which are disabled on hosted runners. Fix: use || github.token as a fallback so the runner-injected GITHUB_TOKEN is used whenever PERSONAL_ACCESS_TOKEN is unavailable. github.token always has Contents:write for same-org PRs and never expires, making the checkout reliable regardless of PAT lifecycle. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8291d83..fc6ee99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: - name: Checkout uses: actions/checkout@v4.1.7 with: - token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + token: ${{ secrets.PERSONAL_ACCESS_TOKEN || github.token }} lfs: true # Ensure LFS files are checked out - name: Set up JDK 17 From f7e6cefa05af19bfd7f3e42f20f67458e3a7f033 Mon Sep 17 00:00:00 2001 From: cx-anand-nandeshwar <73646287+cx-anand-nandeshwar@users.noreply.github.com> Date: Wed, 15 Apr 2026 00:07:27 +0530 Subject: [PATCH 5/6] =?UTF-8?q?Fix=20jackson.version:=202.21.1=20=E2=86=92?= =?UTF-8?q?=202.21.2=20(2.21.1=20was=20never=20published)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous CVE fix set jackson.version=2.21.1 which does not exist on Maven Central, causing the CI build to fail with: Could not find artifact jackson-annotations:jar:2.21.1 2.21.2 is the actual latest stable release. Updated the property and its comment to reflect the correct version. Co-Authored-By: Claude Sonnet 4.6 --- pom.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index e3eab61..a0b2b8d 100644 --- a/pom.xml +++ b/pom.xml @@ -18,9 +18,10 @@ UTF-8 6.2.11 6.5.9 - - 2.21.1 + + 2.21.2 + + org.jetbrains.teamcity + common-jackson + @@ -39,6 +45,12 @@ commons-httpclient commons-httpclient + + + org.jetbrains.teamcity + common-jackson + diff --git a/pom.xml b/pom.xml index a0b2b8d..e0c1632 100644 --- a/pom.xml +++ b/pom.xml @@ -18,10 +18,6 @@ UTF-8 6.2.11 6.5.9 - - 2.21.2 + + org.jetbrains.teamcity + common-jackson + @@ -165,9 +168,7 @@ + jackson-datatype-jdk8 → jackson-core @ 2.19.0 (vulnerable). --> org.jetbrains.teamcity common-jackson @@ -217,6 +218,12 @@ commons-httpclient commons-httpclient + + + org.jetbrains.teamcity + common-jackson + @@ -377,43 +384,6 @@ ${commons-lang3.version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson.version} - - - com.fasterxml.jackson.module - jackson-module-parameter-names - ${jackson.version} -