aboutsummaryrefslogtreecommitdiff
path: root/sanitizers
diff options
context:
space:
mode:
authorFabian Meumertzheim <meumertzheim@code-intelligence.com>2021-07-22 12:46:20 +0200
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-07-22 12:58:38 +0200
commit837fbb9fa102870b34145f9fd300d2abde9e78d0 (patch)
tree66f765a7c580f113cc4c9ad58468ce2f3c9e6937 /sanitizers
parent4bb5f05eff30e3a55a407d2e8b3c2e0a04583e7b (diff)
downloadjazzer-api-837fbb9fa102870b34145f9fd300d2abde9e78d0.tar.gz
Report custom readObject calls directly instead of through finalize
Diffstat (limited to 'sanitizers')
-rw-r--r--sanitizers/src/main/java/jaz/Zer.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/sanitizers/src/main/java/jaz/Zer.java b/sanitizers/src/main/java/jaz/Zer.java
index 05e8d608..0b27609c 100644
--- a/sanitizers/src/main/java/jaz/Zer.java
+++ b/sanitizers/src/main/java/jaz/Zer.java
@@ -14,8 +14,11 @@
package jaz;
+import com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh;
import com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium;
import com.code_intelligence.jazzer.api.Jazzer;
+import java.io.IOException;
+import java.io.ObjectInputStream;
/**
* A honeypot class that reports an appropriate finding on any interaction with one of its methods
@@ -94,4 +97,11 @@ public class Zer implements java.io.Serializable {
Jazzer.reportFindingFromHook(staticInitializerCause);
super.finalize();
}
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ Jazzer.reportFindingFromHook(new FuzzerSecurityIssueHigh("Remote Code Execution\n"
+ + " Deserialization of arbitrary classes with custom readObject may allow remote\n"
+ + " code execution depending on the classpath."));
+ in.defaultReadObject();
+ }
}