diff --git a/sdks/java/extensions/kryo/src/main/java/org/apache/beam/sdk/extensions/kryo/KryoCoder.java b/sdks/java/extensions/kryo/src/main/java/org/apache/beam/sdk/extensions/kryo/KryoCoder.java index 8f6660cf5b78..e89a61f43ab8 100644 --- a/sdks/java/extensions/kryo/src/main/java/org/apache/beam/sdk/extensions/kryo/KryoCoder.java +++ b/sdks/java/extensions/kryo/src/main/java/org/apache/beam/sdk/extensions/kryo/KryoCoder.java @@ -41,6 +41,13 @@ * Coder using Kryo as (de)serialization mechanism. See {@link KryoCoderProvider} to get more * details about usage. * + *
Warning: Kryo deserialization (especially with the default {@code
+ * kryoRegistrationRequired=false} setting in {@link KryoOptions}) can instantiate arbitrary classes
+ * and is unsafe when applied to untrusted data. Do not use {@link KryoCoder} to deserialize
+ * untrusted external input. To restrict deserialization to an explicit set of allowed classes,
+ * enable {@link KryoOptions#setKryoRegistrationRequired(boolean)} and register classes via {@link
+ * KryoRegistrar}.
+ *
* @param