Repository navigation
[Aikido] Fix 1 critical issue in spring-security-core, spring-security-config, spring-security-web and 66 other issues - #9
Closed
aikido-autofix[bot] wants to merge 1 commit into
Conversation
Author
|
Aikido's automated cron job opened a newer AutoFix. It fixes the same vulnerabilities and more: [Aikido] Fix 2 critical issues in spring-core, spring-webmvc, spring-web and 6 more and 46 other issues |
aikido-autofix
Bot
deleted the
fix/aikido-security-update-packages-137302547-qrly
branch
October 18, 2026 03:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thank you for submitting a pull request to the WebGoat!
Summary / Description
Upgrade dependencies to fix critical RCE and arbitrary code execution vulnerabilities in XStream, Spring, and Tomcat. This update includes breaking changes that require manual migration.
Security Impact — CVE vulnerabilities fixed by this PR
✅ 67 CVEs resolved by this upgrade, including 18 critical 🚨 CVEs
This PR will resolve the following CVEs:
tomcat-embed-coreleaks allocations in HTTP/2 backlog tracking when a stream is reset. A remote client can reset streams to consume tracking resources. Repeated resets can exhaust the server and deny service. The fix releases backlog tracking state when a stream is reset.MappingContextproperty path resolution.@ProjectedPayloadallows attackers to trigger excessive memory allocation through specially crafted HTTP requests, causing Denial of Service.${random.value}, generating predictable values unsuitable for secrets. This can weaken tokens, passwords, and other security-sensitive data derived from these properties.Breaking Changes & Upgrade Impact — prefer Warnings / Cautions /⚠️ sections over implementation sections (upgrade risks, breaking changes, manual migration steps)
WebJars support removal
Where your code is affected:
pom.xmllines 103, 217-219: Dependency onorg.webjars:webjars-locator-coreversion 0.59src/main/resources/webwolf/templates/fragments/header.htmllines 6-9: Thymeleaf templates using@{/webjars/...}paths for Bootstrap and jQuery resourcessrc/main/java/org/owasp/webgoat/webwolf/WebSecurityConfig.javaline 15: Security configuration permitting access to/webjars/**pathssrc/main/java/org/owasp/webgoat/webwolf/requests/WebWolfTraceRepository.javaline 8: Trace repository filtering/webjars/pathsImpact: Spring Framework 7.0 removes built-in WebJars support with
org.webjars:webjars-locator-core. The automatic version resolution for WebJars resources will no longer work, causing 404 errors when loading Bootstrap and jQuery assets in the WebWolf application.Remediation: Replace WebJars resource paths with explicit versioned paths (e.g.,
/webjars/bootstrap/5.3.5/css/bootstrap.min.css) or migrate to serving static assets directly from the classpath without WebJars dependency. Remove thewebjars-locator-coredependency from pom.xml and update all template references accordingly.All breaking changes by upgrading org.springframework:spring-core from version 6.2.11 to 7.0.9 (CHANGELOG)
All breaking changes by upgrading org.springframework:spring-webmvc from version 6.2.11 to 7.0.9 (CHANGELOG)
All breaking changes by upgrading org.springframework:spring-web from version 6.2.11 to 7.0.9 (CHANGELOG)
All breaking changes by upgrading org.springframework:spring-beans from version 6.2.11 to 7.0.9 (CHANGELOG)
All breaking changes by upgrading org.springframework:spring-expression from version 6.2.11 to 7.0.9 (CHANGELOG)
All breaking changes by upgrading org.springframework:spring-context from version 6.2.11 to 7.0.9 (CHANGELOG)
Fix Details / Technical Implementation (detailed write-up of what was changed and why)
🤖 Remediation details
Remediate multiple critical and high CVEs in
pom.xmlacross XStream, Apache Tomcat, Spring Boot, Spring Security, Thymeleaf, and JacksonShort summary
This PR fixes security vulnerabilities in the following packages declared or transitively resolved in the root
pom.xml:com.thoughtworks.xstream:xstream,org.apache.tomcat.embed:tomcat-embed-core,org.apache.tomcat.embed:tomcat-embed-websocket,org.apache.tomcat.embed:tomcat-embed-el,org.springframework.boot:spring-boot(and its managed ecosystem),org.springframework.security:spring-security-core/config/web,org.thymeleaf:thymeleaf/thymeleaf-spring6,com.fasterxml.jackson.core:jackson-core/jackson-databind,org.springframework.data:spring-data-commons, andorg.springframework.security:spring-security-oauth2-jose. The fixes are applied entirely in the rootpom.xmlvia a parent POM bump, two property changes, and targeteddependencyManagementoverrides.com.thoughtworks.xstream:xstream
Declared directly in
pom.xmlvia the<xstream.version>property and adependencyManagemententry. The property was bumped from1.4.5to1.4.20, which is the minimum version that clears the full set of deserialization and remote-code-execution vulnerabilities spanning CVEs from 2013 through 2022. No parent or BOM manages this artifact, so the property update is the sole required change.org.springframework.boot:spring-boot (and spring-boot-loader, spring-boot-dependencies)
The Spring Boot parent POM was bumped from
3.5.6to3.5.16in the<parent>block. This is the primary lever for the majority of the ecosystem fixes: Spring Boot 3.5.16 is the smallest 3.5.x release that bringsspring-bootitself to 3.5.16 (≥ 3.5.14 required), resolves the Spring Security BOM to 6.5.11, the Thymeleaf version to 3.1.5.RELEASE, the Spring Data BOM to a release managingspring-data-commonsat 3.5.13, and the Jackson BOM to 2.21.4 — all within the same major line and without breaking API compatibility.org.springframework.security:spring-security-core
org.springframework.security:spring-security-config
org.springframework.security:spring-security-web
These three artifacts are managed transitively through the
spring-security-bomimported by the Spring Boot parent BOM. Bumping the parent from3.5.6to3.5.16advances the managed Spring Security version from6.5.5to6.5.11, satisfying the ≥ 6.5.9 requirement. No direct declaration or override is needed.org.springframework.security:spring-security-oauth2-jose
Also managed through the
spring-security-bomimported by the Spring Boot parent; the parent bump to3.5.16advances this artifact from6.5.5to6.5.11. The advisoryAIKIDO-2026-61483requires version 7.0.7 or 7.1.1, which belong to Spring Security 7.x — a generation that requires Spring Framework 7.x and Spring Boot 4.x. Upgrading the parent to Spring Boot 4.x would be a prohibited major-version bump, and forcingspring-security-oauth2-jose:7.0.7viadependencyManagementalone would pull in incompatible Spring Security 7.x and Spring Framework 7.x transitive dependencies, breaking the application. This advisory therefore remains unresolved within the constraints of the current major line.org.thymeleaf:thymeleaf
org.thymeleaf:thymeleaf-spring6
Previously the
<thymeleaf.version>property inpom.xmlwas set to3.1.2.RELEASE, overriding the parent BOM and pinning Thymeleaf below the patched version. The property was removed entirely; Spring Boot 3.5.16 now manages Thymeleaf at3.1.5.RELEASEnatively, satisfying the requirement for boththymeleafandthymeleaf-spring6without any local override.org.apache.tomcat.embed:tomcat-embed-core
org.apache.tomcat.embed:tomcat-embed-websocket
org.apache.tomcat.embed:tomcat-embed-el
Spring Boot 3.5.16 manages Tomcat at
10.1.55, which is below the10.1.59floor required by the Tomcat advisories. No 3.5.x Spring Boot release manages Tomcat at ≥ 10.1.59 (that requires Spring Boot 4.x). ExplicitdependencyManagemententries were added fortomcat-embed-core,tomcat-embed-websocket, andtomcat-embed-elall pinned to10.1.59, overriding the parent BOM value for all three embed artifacts consistently.com.fasterxml.jackson.core:jackson-core
com.fasterxml.jackson.core:jackson-databind
The parent bump to Spring Boot 3.5.16 advances the managed
jackson-bomfrom2.21.4(as of3.5.6) to2.21.4— the same patch level — which is insufficient for the new advisories CVE-2026-59889 and GHSA-mhm7-754m-9p8w, both requiring ≥ 2.21.5. No 3.5.x Spring Boot release managesjackson-bomat 2.21.5. AdependencyManagementBOM import ofcom.fasterxml.jackson:jackson-bom:2.21.5was added at the top of the<dependencyManagement>block so it takes first-declaration precedence over the Spring Boot BOM's import, advancingjackson-core,jackson-databind, and all sibling Jackson 2.x artifacts to2.21.5.org.springframework.data:spring-data-commons
Managed transitively via the
spring-data-bomimported by the Spring Boot parent. The parent bump to3.5.16advances the Spring Data BOM to2025.0.13, which managesspring-data-commonsat3.5.13(≥ 3.5.12 required). No additional override is needed.org.springframework:spring-web
org.springframework:spring-webmvc
org.springframework:spring-core
org.springframework:spring-beans
org.springframework:spring-expression
org.springframework:spring-context
Managed via the
spring-framework-bomimported by the Spring Boot parent. The parent bump to3.5.16advances Spring Framework from6.2.11to6.2.19, satisfyingAIKIDO-2026-11158(requires ≥ 6.2.19).CVE-2026-47884requires Spring Framework7.0.9, which exists only in the 7.x generation. Spring Framework 7.x is exclusively supported by Spring Boot 4.x; forcing it viadependencyManagementinto a Spring Boot 3.x project would cause binary-incompatible runtime failures across all Spring Boot autoconfiguration. Upgrading the parent to Spring Boot 4.x is a prohibited major-version bump. CVE-2026-47884 cannot be remediated within the Spring Boot 3.x major line.Version changes
org.springframework.boot:spring-boot-starter-parent(parent POM)3.5.63.5.16com.thoughtworks.xstream:xstream1.4.51.4.20xstream.versionpropertyorg.thymeleaf:thymeleaf3.1.2.RELEASE(property override)3.1.5.RELEASE(parent-managed)org.thymeleaf:thymeleaf-spring63.1.2.RELEASE(property override)3.1.5.RELEASE(parent-managed)org.springframework.boot:spring-boot3.5.63.5.16org.springframework.boot:spring-boot-loader3.5.63.5.16org.springframework.security:spring-security-core6.5.56.5.11org.springframework.security:spring-security-config6.5.56.5.11org.springframework.security:spring-security-web6.5.56.5.11org.springframework.security:spring-security-oauth2-jose6.5.56.5.11org.springframework:spring-web6.2.116.2.19org.springframework:spring-webmvc6.2.116.2.19org.springframework:spring-core6.2.116.2.19org.springframework:spring-beans6.2.116.2.19org.springframework:spring-expression6.2.116.2.19org.springframework:spring-context6.2.116.2.19org.springframework.data:spring-data-commons3.5.43.5.13org.apache.tomcat.embed:tomcat-embed-core10.1.4610.1.59dependencyManagementoverride (parent only provides 10.1.55)org.apache.tomcat.embed:tomcat-embed-websocket10.1.4610.1.59dependencyManagementoverride (parent only provides 10.1.55)org.apache.tomcat.embed:tomcat-embed-el10.1.4610.1.59com.fasterxml.jackson.core:jackson-core2.19.22.21.5jackson-bom:2.21.5dependencyManagementimport overridecom.fasterxml.jackson.core:jackson-databind2.19.22.21.5jackson-bom:2.21.5dependencyManagementimport override