Skip to content

[Snyk] Security upgrade com.fasterxml.jackson.core:jackson-databind from 2.14.2 to 2.18.10 - #66

Open
caniszczyk wants to merge 1 commit into
masterfrom
snyk-fix-eb92c7d8ce41536b7c26a200c66bf409
Open

[Snyk] Security upgrade com.fasterxml.jackson.core:jackson-databind from 2.14.2 to 2.18.10#66
caniszczyk wants to merge 1 commit into
masterfrom
snyk-fix-eb92c7d8ce41536b7c26a200c66bf409

Conversation

@caniszczyk

Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the maven dependencies of this project.

Snyk changed the following file(s):

  • functions-framework-invoker/pom.xml

Vulnerabilities that will be fixed with an upgrade:

Issue Score Upgrade
medium severity Deserialization of Untrusted Data
SNYK-JAVA-COMFASTERXMLJACKSONCORE-19496766
  708   com.fasterxml.jackson.core:jackson-databind:
2.14.2 -> 2.18.10
Proof of Concept

Breaking Change Risk

Merge Risk: Medium

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Deserialization of Untrusted Data

@caniszczyk

Copy link
Copy Markdown
Author

Merge Risk: Medium

This upgrade from Jackson-databind 2.14.2 to 2.18.10 spans multiple minor versions and introduces several behavioral changes and new features that warrant verification.

Key Changes:

  • Stricter Deserialization Defaults: To address security concerns, newer versions introduce stricter default limits and behaviors.
    • Processing Limits (2.15+): New default constraints have been added for maximum input nesting depth (1000 levels), string value length, and number token lengths to prevent Denial of Service (DoS) attacks from deeply nested or large JSON inputs.
    • Stricter Number Coercion (2.17+): Strings with leading zeroes (e.g., "07") are no longer recognized as coercible numbers for enums or other types.
  • Behavioral Changes:
    • Locale Deserialization (2.16+): Deserializing an empty string for java.util.Locale now results in Locale.ROOT instead of null, even when ACCEPT_EMPTY_STRING_AS_NULL_OBJECT is enabled.
    • @JsonIgnore Precedence (2.14): In case of conflicting annotations, @JsonIgnore now takes precedence over @JsonProperty, which may change serialization behavior for inherited properties.
  • Kotlin Support: Support for Kotlin versions has been updated. Version 2.16 requires Kotlin 1.6-1.9, and 2.18 drops support for Kotlin 1.7.
  • Deprecations:
    • DefaultTyping.EVERYTHING is deprecated in 2.17 and will be removed in version 3.0.

Recommendation:

Given the introduction of stricter processing limits and subtle changes in deserialization behavior, it is important to verify that your application's JSON/object mapping logic is unaffected. Pay close attention to code that relies on:

  • Deserializing very large or deeply nested JSON documents.
  • Type coercion from strings with leading zeroes to numbers.
  • The specific behavior of Locale deserialization from empty strings.

Source: Jackson 2.15 Release Notes, Jackson 2.16 Release Notes, Jackson 2.17 Release Notes

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

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.

3 participants