[ 
https://issues.apache.org/jira/browse/KYLIN-6092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18105483#comment-18105483
 ] 

ASF GitHub Bot commented on KYLIN-6092:
---------------------------------------

jlfsdtc opened a new pull request, #2354:
URL: https://github.com/apache/kylin/pull/2354

   Event, SegmentRange and BroadcastEventReadyNotifier use 
@JsonTypeInfo(Id.CLASS), which lets an attacker-supplied @class id load 
arbitrary classes (deserialization gadget attack). Set a 
BasicPolymorphicTypeValidator that only allows org.apache.kylin.* subtypes on 
the JsonUtil mappers and on the Spring HTTP converter ObjectMapper in AppConfig.




> Insecure Jackson deserialization
> --------------------------------
>
>                 Key: KYLIN-6092
>                 URL: https://issues.apache.org/jira/browse/KYLIN-6092
>             Project: Kylin
>          Issue Type: Task
>            Reporter: PJ Fanning
>            Assignee: Longfei Jiang
>            Priority: Major
>
> [https://github.com/apache/kylin/blob/b5b94b51abaf83d68088e4fcab606d2a6530e54d/src/core-common/src/main/java/org/apache/kylin/common/persistence/event/Event.java#L33]
> `@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)` – when you deserialize the 
> `@class` value that appears in the JSON can be any class name and Jackson 
> will load that class and try to create an instance.
> You should add a polymorphic type validator to your ObjectMapper that 
> restricts which classes can be loaded at deserialization time.
> https://fasterxml.github.io/jackson-databind/javadoc/2.10/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.html
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to