# DL4J Arbitrary Class Instantiation Vulnerability PoC ## Vulnerability Summary **Type:** Arbitrary Class Instantiation via Unvalidated Model Configuration **Severity:** Critical (Remote Code Execution) **Affected Component:** `org.deeplearning4j.models.embeddings.loader.WordVectorSerializer` ## Vulnerable Code File: `deeplearning4j/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/embeddings/loader/WordVectorSerializer.java` Lines: 3067-3069 ```java String tokenizerFactoryClassName = configuration.getTokenizerFactory(); TokenizerFactory factory = DL4JClassLoading.createNewInstance(tokenizerFactoryClassName); ``` ## Attack Vector Attacker creates a malicious Word2Vec model (.zip) with tokenizerFactory pointing to arbitrary Java classes like java.lang.ProcessBuilder. ## Impact - Remote Code Execution (RCE) - Arbitrary Class Instantiation - Denial of Service ## Remediation Implement class allowlist for tokenizer factory classes.