Skip to content

[Snyk] Fix for 1 vulnerabilities - #80

Open
ib-tjuhasz wants to merge 1 commit into
masterfrom
snyk-fix-a938777cddf47250e1f62312fefa09c2
Open

[Snyk] Fix for 1 vulnerabilities#80
ib-tjuhasz wants to merge 1 commit into
masterfrom
snyk-fix-a938777cddf47250e1f62312fefa09c2

Conversation

@ib-tjuhasz

Copy link
Copy Markdown
Contributor

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):

  • pom.xml

Vulnerabilities that will be fixed with an upgrade:

Issue Upgrade
medium severity Deserialization of Untrusted Data
SNYK-JAVA-COMFASTERXMLJACKSONCORE-19496766
com.fasterxml.jackson.core:jackson-databind:
2.17.0 -> 2.18.10
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:
2.17.0 -> 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

@ib-tjuhasz

Copy link
Copy Markdown
Contributor Author

Merge Risk: Medium

This upgrade to Jackson 2.18.x is a minor version update but introduces significant internal changes that carry a medium risk of causing behavioral shifts, particularly in deserialization.

Key Changes:

  • Property Introspection Rewrite: The most significant change in version 2.18.0 is a deep rewrite of the POJO property introspection logic. This was done to fix long-standing bugs related to how properties from constructors (@JsonCreator) and fields/setters are handled.
  • @JsonCreator Behavior Change: A direct side-effect of the introspection rewrite is a change in behavior for deserializing objects, especially those with multiple constructors or Kotlin data classes. Code that previously worked by relying on Jackson's implicit constructor discovery may now fail, requiring the explicit use of the @JsonCreator annotation.
  • Kotlin 1.7 Support Dropped: Support for Kotlin version 1.7.x has been removed. Projects using Kotlin must be on version 1.8, 1.9, or 2.0.
  • ZonedDateTime Serialization Fix: A bug was fixed in version 2.18.3 where @JsonFormat was not being applied to ZonedDateTime under certain configurations. This fix could change the serialized output for users who were unknowingly relying on the previous incorrect behavior.

Recommendation:

Due to the internal rewrite of core deserialization logic, this upgrade requires careful validation. Pay close attention to the deserialization of complex objects, immutable classes (including Java Records), and Kotlin data classes. It is highly recommended to run your application's test suite to catch any regressions related to object mapping.

Source: Jackson 2.18 Release Notes

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

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.

2 participants