Hi Fabian,

Thanks for posting this and your interest in helping to test and improve the quality of the Java core libraries. One comment/request below:

On 5/17/21 9:09 AM, Fabian Meumertzheim wrote:
(Crosspost from core-libs-dev@: https://mail.openjdk.java.net/pipermail/core-libs-dev/2021-May/077483.html <https://mail.openjdk.java.net/pipermail/core-libs-dev/2021-May/077483.html>)

I'm one of the maintainers of Jazzer (https://github.com/CodeIntelligenceTesting/jazzer <https://github.com/CodeIntelligenceTesting/jazzer>), a new open-source fuzzer for the JVM platform. Jazzer has recently been integrated into Google's OSS-Fuzz (https://google.github.io/oss-fuzz/ <https://google.github.io/oss-fuzz/>) to allow for free continuous fuzzing of important open-source Java projects. Jazzer has already found over a hundred bugs and eight security issues in libraries such as Apache Commons, PDFBox and the OWASP json-sanitizer.

Jazzer finds unexpected exceptions and infinite loops by default, but can also be used to check domain-specific properties such as decrypt(encrypt(data)) == data. Since it tracks the coverage it achieves using instrumentation applied by a Java agent, it can synthesize interesting test data from scratch.

If there is interest from your side, I could set up the Java core libraries themselves for fuzzing in OSS-Fuzz. Especially the parts that are frequently applied to untrusted input, such as java.security.* and javax.imageio.*, would benefit from fuzz tests. I have prepared basic fuzz tests for some of the classes in these packages at https://github.com/CodeIntelligenceTesting/oss-fuzz/tree/openjdk/projects/openjdk <https://github.com/CodeIntelligenceTesting/oss-fuzz/tree/openjdk/projects/openjdk>, which has already resulted in a few bug reports by running it locally (JDK-8267086 is one of them affecting java.security.*).

All I would need from you is:

* a list of email addresses to which the fuzzer findings should be sent (ideally associated with Google accounts for authentication to full reports on oss-fuzz.com <http://oss-fuzz.com/>),
All fuzzer findings with security implications should be sent to the OpenJDK Vulnerability Group. See https://openjdk.java.net/groups/vulnerability/report <https://openjdk.java.net/groups/vulnerability/report> for more information. Please send the detailed information (description, impacted release, and PoC) to /vuln-rep...@openjdk.java.net <mailto:vuln-rep...@openjdk.java.net>/.

Thanks,
Sean
* ideas for additional fuzz tests, in particular those where there are interesting properties to verify.

The technical questions about setting up the OpenJDK in OSS-Fuzz have already been resolved (see also https://github.com/google/oss-fuzz/issues/5757 <https://github.com/google/oss-fuzz/issues/5757>).

If you need more information on OSS-Fuzz or fuzzing in general, I am happy to help.

Fabian (@fmeum on GitHub)

Reply via email to