Hi everyone,
Yay, found time to do some fuzzing again. I totally missed the AFL-based
Kelinci [0] fuzzer setup for Java. I just searched the mailing list and
I didn't find any post about it. Also sister_projects.txt doesn't
mention it (Michal, could you add it?).
I tried the setup and it works very well to fuzz Java code (although it
zzzzz for me like so many other more complicated fuzzing setups). I have
some issues with instrumentation in certain cases [1], but it seems I
already found other issues in JPEG parsing in the Apache commons library
by simply using the JPEG corpus of AFL, but I didn't investigate the
"crashes" yet [2]. I write "crashes" because obviously a Java exception
has much lower severity than a memory corruption in another language.
So from my perspective Kelinci is much more advanced than my dull
approach with gcj [3]. Worth trying next time you look at Java code.
cheers,
floyd
PS: Kelinci and the newest version of AFL run perfectly fine on ARM
[0]
https://github.com/isstac/kelinci
[1]
https://github.com/isstac/kelinci/issues/2
[2]
https://github.com/isstac/kelinci/issues/1
[3]
https://github.com/floyd-fuh/AFL_GCJ_Fuzzing_Simple