Skip to content

Fix: Deeply nested json in jackson-databind - #328

Open
WesternConcrete wants to merge 2 commits into
masterfrom
devin/1788591960-jackson-nesting-dos
Open

WesternConcrete wants to merge 2 commits into
masterfrom
devin/1788591960-jackson-nesting-dos

Conversation

@WesternConcrete

@WesternConcrete WesternConcrete commented Sep 5, 2026

Copy link
Copy Markdown

Summary

Finding: Deeply nested json in jackson-databind (CVE-2020-36518, GHSA-57j2-w4cx-62h2)
Repo: COG-GTM/ftgo-monolith

ftgo-common pinned jackson-databind 2.9.7 (shared by every REST module); no 2.9.x release limits JSON nesting depth, so a deeply nested request body causes a StackOverflowError (unauthenticated DoS).

Fix approach: move all Jackson modules to 2.17.3 — the explicit jackson-core / jackson-databind / jackson-datatype-jsr310 pins in ftgo-common/build.gradle, plus ext['jackson.version'] = '2.17.3' in the root subprojects {} block so the Spring Boot dependency-management BOM resolves the transitive Jackson modules (annotations, jdk8, parameter-names) at the same version instead of 2.9.6. 2.17.3 was chosen over 2.13.x so that jackson-core is also past CVE-2025-52999 (fixed in 2.15.0), which the Snyk PR check flagged on the first revision.

Note: local Gradle build could not be verified in this session because Maven Central returned HTTP 429 (rate limited) for all artifact downloads; relying on CI.

Link to Devin session: https://app.devin.ai/sessions/2aa54ffd887c442a8c8a716040545202
Open in Devin Desktop: https://app.devin.ai/desktop/session/2aa54ffd887c442a8c8a716040545202?variant=devin
Requested by: @WesternConcrete


Devin Review

Co-Authored-By: Wes Convery <2wconvery@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Co-Authored-By: Wes Convery <2wconvery@gmail.com>

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Devin Review

Comment thread build.gradle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant