Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added new fuzzer to work with OSS-Fuzz #5785

Closed
wants to merge 4 commits into from

Conversation

DavidKorczynski
Copy link

@DavidKorczynski DavidKorczynski commented Jun 30, 2020

I added a new fuzzer that works with OSS-FUzz. It goes for the perl-compatible regular expressions by targetting preg_match.

I would be happy to add more fuzzers, so please let me know if contributions like these are appreciated and sought for.

@nikic
Copy link
Member

nikic commented Jul 1, 2020

pcre2 is already being directly fuzzed via https://github.com/google/oss-fuzz/tree/master/projects/pcre2, which should be a lot more efficient than going through PHP, with all the overhead that entails.

We generally shouldn't be fuzzing 3rd-party libraries and might want to consider dropping our mbregex fuzzer now that https://github.com/google/oss-fuzz/tree/master/projects/oniguruma exists.

@nikic
Copy link
Member

nikic commented Jul 1, 2020

That said, while I don't think we should be fuzzing pcre, improving fuzzing coverage in general would be great. There is some pending work:

  • Add PHAR fuzzer #5424 implements a phar fuzzer, which has historically been a bit of a security hotspot. This needs a fix for a leak, and looking through coverage reports to check that it doesn't get blocked by checksums.
  • Add experimental "execute" fuzzer #5030 implements an end-to-end execution fuzzer. This can reach all the code, but probably needs some fine-tuning.

For new fuzzers, one area that would be useful to tests is the mbstring extension. For example, the encoding conversion functionality.

@nikic
Copy link
Member

nikic commented Sep 23, 2020

As said above, I don't think we should be fuzzing PCRE, as it already has dedicated fuzzing.

@nikic nikic closed this Sep 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants