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}
-