fix: remediate server and plugin jar CVEs from docker scout scan - #42074
Conversation
… scan CE share of a docker scout sweep of the shipped image, covering the findings that live in server.jar and the plugin jars. - netty 4.1.135 -> 4.1.136.Final - jackson 2.18.8 -> 2.18.9, staying on the 2.18.x line the existing pin deliberately holds; this also drags the plugin jars up from 2.16.0 - Spring Boot 3.5.14 -> 3.5.16, which brings spring-framework 6.2.19 and spring-security-web 6.5.11 - commons-lang3 and logback pinned above the Spring Boot BOM defaults. appsmith-interfaces already asked for commons-lang3 3.18.0, but the BOM-managed 3.17.0 is what was landing in server.jar - httpclient pinned to 4.5.14; awssdk apache-client 2.15.3 pulls 4.5.9 Verified with mvn dependency:tree that every pin resolves as intended in both appsmith-server and the plugin modules, and that the full reactor compiles against the new versions.
…erty Mirrors the EE correction so the shared pom blocks stay byte-identical. The logback pin was unnecessary: Scout reports "Fixed version: 1.5.35" for CVE-2026-10532, but its own affected range is <1.5.34 and OSV agrees the fix landed in 1.5.34, which Spring Boot 3.5.16 already brings. jackson.version is unreferenced — Spring Boot imports jackson-bom.version only, and nothing expands ${jackson.version}. Jackson still resolves to 2.18.9.
WalkthroughThe server POM updates Spring Boot, Jackson, Netty, and Commons Lang versions. It removes the explicit Jackson version property and adds dependency management for Apache HttpClient 4.5.14. ChangesServer dependency updates
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
app/server/pom.xml (1)
10-10: 🔒 Security & Privacy | 🔵 TrivialConfirm support coverage for Spring Boot 3.5.16.
Spring Boot 3.5.16, released June 25, 2026, is the last OSS release of the 3.5.x generation. If this project does not have commercial support, plan migration to Spring Boot 4.0.x or 4.1.x. (spring.io)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@app/server/pom.xml` at line 10, Review the Spring Boot version configured in the pom and confirm whether the project has coverage for Spring Boot 3.5.16. If commercial support is unavailable, plan and apply migration to a supported Spring Boot 4.0.x or 4.1.x version, updating related dependency configuration as needed.Source: MCP tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@app/server/pom.xml`:
- Line 10: Review the Spring Boot version configured in the pom and confirm
whether the project has coverage for Spring Boot 3.5.16. If commercial support
is unavailable, plan and apply migration to a supported Spring Boot 4.0.x or
4.1.x version, updating related dependency configuration as needed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 6d3cff38-aaf8-48f3-918c-4ab6808a4191
📒 Files selected for processing (1)
app/server/pom.xml
|
/build-deploy-preview skip-tests=true |
|
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/30713275048. |
|
Deploy-Preview-URL: https://ce-42074.dp.appsmith.com |
/ok-to-test tags="@tag.All"
Linear: https://linear.app/appsmith/issue/APP-15743
Why
docker scout cves --only-fixedon the shipped release image reports 176 fixable vulnerabilities across 70 packages. 52 of them live inserver.jarand the plugin jars, and are controlled fromapp/server/pom.xml. This clears 40 of those (9 high, 26 medium, 5 low).This is the direct successor to #41928 (
bump Spring Boot to 3.5.14 and Netty to 4.1.135) and #41947 (batch security update — 17 CVEs from release image scan).What changed
spring-boot-starter-parent3.5.143.5.16netty.version4.1.135.Final4.1.136.Finaljackson-bom.version2.18.82.18.9commons-lang3.version3.18.0httpclient(dependencyManagement)4.5.14Two worth explaining:
2.18.8entry is a deliberate pin downward for CVE-2026-54512 / CVE-2026-54513. Moving to 2.18.9 respects that intent while picking up CVE-2026-59889, CVE-2026-54515 and GHSA-mhm7-754m-9p8w. It also drags the plugin jars up from 2.16.0.commons-lang3needed a property, not a dependency.appsmith-interfacesalready declares 3.18.0 directly, but the Spring Boot BOM manages it to 3.17.0 and that is what was landing inserver.jar.The unreferenced
jackson.versionproperty is removed — Spring Boot importsjackson-bom.versiononly, and${jackson.version}is not expanded anywhere in the repo. Removing it moves no resolved version.Verification
mvn dependency:treeacrossappsmith-serverand the plugin modules confirms every pin resolves as intended:Full reactor compiles clean;
mvn spotless:checkpasses. Validated on the EE side first in appsmith-ee#9405, where the full Cypress suite is green.What is deliberately NOT here
vertx-core4.5.21 (2 medium)log4j-core2.20.0 (3 medium),nimbus-jose-jwt9.37.2 (1 medium)dependencyManagementpin reaches them. Needs adatabricks-sdk-javaupgrade.bcpkix-jdk15on1.70 (2 medium)sshj 0.35.0; thejdk15online ended at 1.70 and sshj 0.37+ moves tobcpkix-jdk18on. That is the SSH library behind git deploy keys — deserves its own PR.logback<1.5.34) for both logback advisories. No pin needed.Known false positives
com.appsmith/serverandcom.appsmith/interfaces(3 high) — the jars are versioned1.0-SNAPSHOT, which sorts below the advisories'1.99/2.0fixed versions, so they are flagged permanently. GHSA-j9gf-vw2f-9hrw is already fixed (fix(security): fail closed when APPSMITH_BASE_URL unset for token-bearing emails (GHSA-j9gf-vw2f-9hrw) #41766).mssql-jdbcCVE-2025-59250 (1 high) — affected range is>=11.2.0.jre11, <11.2.4.jre11andmssqlPlugindeclares exactly11.2.4.jre11. Scout normalises the classifier away and compares11.2.4 < 11.2.4.jre11.Tip
🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/30653707840
Commit: 68f0af9
Cypress dashboard.
Tags:
@tag.AllSpec:
Fri, 31 Jul 2026 21:13:48 UTC
Summary by CodeRabbit