<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm" -->

---
title: JsonToObjectTransformer resolves the json__TypeId__...
description: A CVE affecting Spring Integration's JsonToObjectTransformer describes how the json__TypeId__ message header can be used to resolve an arbitrary class without...
canonical: https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list | daily.dev
og:description: A CVE affecting Spring Integration's JsonToObjectTransformer describes how the json__TypeId__ message header can be used to resolve an arbitrary class without...
og:url: https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm
og:image: https://api.daily.dev/og/posts/PNqDqQjdm.png
og:image:alt: JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list

**[Spring](https://daily.dev/sources/spring)** · 1 min read · 2 upvotes · 0 comments

## Summary

A CVE affecting Spring Integration's JsonToObjectTransformer describes how the json__TypeId__ message header can be used to resolve an arbitrary class without an allow-list, creating a potential deserialization vulnerability. The page itself is largely obscured by cookie consent boilerplate, with minimal technical detail beyond the advisory title.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://spring.io/security/cve-2026-47856>

## Questions this post answers

### What is the security issue with JsonToObjectTransformer in Spring Integration?

JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without checking it against an allow-list, which can let an attacker influence which class gets instantiated during JSON deserialization. This is tracked as a CVE affecting Spring Integration and stems from the lack of type restriction on the header value.

_Track Spring Integration security advisories on daily.dev before patching deserialization risks in production._

## Similar posts on daily.dev

- [Unsafe Java deserialization in SerializingHttpMessageConverter — remote code execution](https://daily.dev/posts/unsafe-java-deserialization-in-serializinghttpmessageconverter-remote-code-execution-wisjbrluv) · Spring · 7 upvotes · 0 comments
- [Fastjson 2.x Remote Code Execution Vulnerability Notice](https://daily.dev/posts/fastjson-2-x-remote-code-execution-vulnerability-notice-qj1f3nati) · Security Boulevard · 0 upvotes · 0 comments
- [EmbeddedHeadersJsonMessageMapper default gives wire peer full control of MessageHeaders](https://daily.dev/posts/embeddedheadersjsonmessagemapper-default-gives-wire-peer-full-control-of-messageheaders-pxcmbfa2r) · Spring · 3 upvotes · 0 comments
- [Deserialization allow-list silently bypassed: setBeanClassLoader replaces deserializer but mapper keeps stale reference](https://daily.dev/posts/deserialization-allow-list-silently-bypassed-setbeanclassloader-replaces-deserializer-but-mapper-ke-cxhvfsc6w) · Spring · 9 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#java](https://daily.dev/tags/java), [#spring](https://daily.dev/tags/spring)

[View this post on daily.dev](https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list","url":"https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm"},"datePublished":"2026-08-20T16:42:36.540Z","dateModified":"2026-09-13T18:32:24.511Z","description":"A CVE affecting Spring Integration's JsonToObjectTransformer describes how the json__TypeId__ message header can be used to resolve an arbitrary class without...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ff749d548af41095da8724da8d7ba5f9?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ff749d548af41095da8724da8d7ba5f9?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Spring","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Spring","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/spring","url":"https://daily.dev/sources/spring"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,java,spring","timeRequired":"PT1M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Spring","item":"https://daily.dev/sources/spring"},{"@type":"ListItem","position":3,"name":"JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/jsontoobjecttransformer-resolves-the-json-typeid-message-header-to-an-arbitrary-class-without-an--pnqdqqjdm#faq","mainEntity":[{"@type":"Question","name":"What is the security issue with JsonToObjectTransformer in Spring Integration?","acceptedAnswer":{"@type":"Answer","text":"JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without checking it against an allow-list, which can let an attacker influence which class gets instantiated during JSON deserialization. This is tracked as a CVE affecting Spring Integration and stems from the lack of type restriction on the header value. Track Spring Integration security advisories on daily.dev before patching deserialization risks in production."}}]}
```

