diff --git a/crypto/bn256/bn256_fuzz.go b/crypto/bn256/bn256_fuzz.go
index 585d509bf412d4d0c527044c617eba0064442586..b34043487f200e728329d7ff1434edd33ca6339c 100644
--- a/crypto/bn256/bn256_fuzz.go
+++ b/crypto/bn256/bn256_fuzz.go
@@ -80,6 +80,12 @@ func FuzzMul(data []byte) int {
 	if remaining == 0 {
 		return 0
 	}
+	if remaining > 128 {
+		// The evm only ever uses 32 byte integers, we need to cap this otherwise
+		// we run into slow exec. A 236Kb byte integer cause oss-fuzz to report it as slow.
+		// 128 bytes should be fine though
+		return 0
+	}
 	buf := make([]byte, remaining)
 	input.Read(buf)