abbossec's picture
README.md
98f0721 verified
|
Raw
History Blame Contribute Delete
994 Bytes
# 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.