Skip to content

@JsonView by-passed for unwrapped creator parameters [CVE-2026-54518] - #5971

Merged
cowtowncoder merged 3 commits into
3.1from
tatu-claude/3.1/jdb07-jsonview-unwrapped-creators
May 7, 2026
Merged

@JsonView by-passed for unwrapped creator parameters [CVE-2026-54518]#5971
cowtowncoder merged 3 commits into
3.1from
tatu-claude/3.1/jdb07-jsonview-unwrapped-creators

Conversation

@cowtowncoder

Copy link
Copy Markdown
Member

No description provided.

@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 81.32% 📈 +0.000%
Branches branches 74.50% 📈 +0.030%

Coverage data generated from JaCoCo test results

@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 81.32% 📈 +0.000%
Branches branches 74.49% 📈 +0.020%

Coverage data generated from JaCoCo test results

@cowtowncoder
cowtowncoder marked this pull request as ready for review May 7, 2026 01:25
@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown

🧪 Code Coverage Report

Metric Coverage Change
Instructions coverage 81.32% 📈 +0.000%
Branches branches 74.49% 📈 +0.020%

Coverage data generated from JaCoCo test results

@cowtowncoder
cowtowncoder merged commit d633bc0 into 3.1 May 7, 2026
6 checks passed
@cowtowncoder
cowtowncoder deleted the tatu-claude/3.1/jdb07-jsonview-unwrapped-creators branch May 7, 2026 01:26
@cowtowncoder cowtowncoder added 2.18 Issues planned at 2.18 or later 2.21 3.1 labels May 22, 2026
@cowtowncoder

Copy link
Copy Markdown
Member Author

Fixed in:

  • 2.18(.8)
  • 2.21(.4)
  • 3.1(.4)

cowtowncoder added a commit that referenced this pull request May 22, 2026
cowtowncoder added a commit that referenced this pull request May 22, 2026
Honor the active @JSONVIEW in every property-based-creator buffering path,
not just the originally-patched ones (sibling of #5969/#5971):

- BuilderBasedDeserializer._deserializeUsingPropertyBased (regular-property branch)
- BuilderBasedDeserializer.deserializeUsingPropertyBasedWithUnwrapped (creator + regular)
- BeanDeserializer.deserializeUsingPropertyBasedWithUnwrapped (creator + regular)
- BeanDeserializer.deserializeUsingPropertyBasedWithExternalTypeId (creator + regular)
- BeanDeserializer._deserializeRecordForUpdate (creator)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cowtowncoder added a commit that referenced this pull request May 22, 2026
#6004)

Honor the active @JSONVIEW in every property-based-creator buffering path,
not just the originally-patched ones from #5969/#5971
dongjoon-hyun added a commit to apache/spark that referenced this pull request Jun 5, 2026
### What changes were proposed in this pull request?

This PR upgrades `FasterXML` `Jackson` to 2.21.4.

### Why are the changes needed?

- https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.21.4 (2026-05-28)
  - FasterXML/jackson-core#1611
  - FasterXML/jackson-databind#5931
  - FasterXML/jackson-databind#5950
  - FasterXML/jackson-databind#5951
  - FasterXML/jackson-databind#5967
  - FasterXML/jackson-databind#5969
  - FasterXML/jackson-databind#5971
  - FasterXML/jackson-databind#5974
  - FasterXML/jackson-databind#5981
  - FasterXML/jackson-databind#5988
  - FasterXML/jackson-databind#5993

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Pass the CIs.

### Was this patch authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 4.8)

Closes #56338 from dongjoon-hyun/SPARK-57273.

Authored-by: Dongjoon Hyun <dongjoon@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
@cowtowncoder cowtowncoder changed the title @JsonView by-passed for unwrapped creator parameters @JsonView by-passed for unwrapped creator parameters [CVE-2026-54518] Jun 16, 2026
@cowtowncoder cowtowncoder added the CVE Issues related to public CVEs (security vuln reports) label Jun 16, 2026
cowtowncoder added a commit that referenced this pull request Jun 16, 2026
cowtowncoder added a commit that referenced this pull request Jun 16, 2026
@cowtowncoder cowtowncoder added this to the 2.18.8 milestone Jun 16, 2026
cowtowncoder added a commit to pjfanning/jackson-databind that referenced this pull request Jul 5, 2026
`ExternalTypeHandler` buffered external-type values and bound them without
checking the active view, so a property hidden by `@JsonView` was still
deserialized and set -- bypassing view-based filtering (same vulnerability
class as GHSA-x94j-jhxw-j455 / [databind#5969], FasterXML#5971).

Fix, all within `ExternalTypeHandler`:
 - both `complete(...)` overloads and the post-build set loop skip binding the
   value of any external property not visible in the active view
 - `complete(buffer, creator)` still assigns a *visible* external type id even
   when its value is view-hidden, so the [databind#999] type-id-as-creator-
   property case does not lose the (non-view) type id
 - `_deserializeAndSet` guards the eager-binding path, so default-constructor
   beans (where the type id precedes the value) are also covered

Adds `JsonViewExternalTypeIdBypassTest` covering property-gated creator,
admin-visible sanity, field-gated subtype, type-id-as-creator, and
default-constructor cases.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.18 Issues planned at 2.18 or later 2.21 3.1 CVE Issues related to public CVEs (security vuln reports)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant