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

SystemSan per-target config #8497

Open
nikic opened this issue Sep 14, 2022 · 5 comments
Open

SystemSan per-target config #8497

nikic opened this issue Sep 14, 2022 · 5 comments
Assignees

Comments

@nikic
Copy link
Contributor

nikic commented Sep 14, 2022

For the PHP project, we have a number of fuzzers that essentially execute arbitrary code. For those fuzzers reading arbitrary files is expected, and even writing them is only a fuzzer quality problem (we do try to blacklist such functions just to limit corruption).

Is there some way to disable SystemSan or configure it to not report certain issues?

@oliverchang
Copy link
Collaborator

Yes, there will be a way to configure SystemSan.

Right now we are not filing bugs automatically for such issues until we have that mechanism in place.

@nikic
Copy link
Contributor Author

nikic commented Sep 15, 2022

Even if not issues are filed, they still abort fuzzing. The reason why I noticed this is that I looked at fuzzer statistics and noticed a very high percentage of startup crashes caused by this. It doesn't help that the error doesn't contain a backtrace, so it's hard to figure out where the FS access comes from, if you have hundreds of places that could perform one.

@oliverchang
Copy link
Collaborator

That's a very good point.

We currently only enable this in 10% of all of our runs, and will be adding capabilities very soon to configure the checks to enable per target.

Does 10% still sound too high in the meantime?

@nikic
Copy link
Contributor Author

nikic commented Sep 19, 2022

It turns out that the "arbitrary file open" was caused by an rpath being set, which resulted in attempts to load libraries like /ORIGIN/lib/glibcs..., which meant that all our fuzzers were crashing in 10% of runs. After dropping the (no longer used) rpath, the situation looks better, in that it only affects the "arbitrary code execution" fuzzers now, and the percentage is less than 10%. So I think this is okay in the meantime.

@catenacyber
Copy link
Contributor

By the way, this false positive should be fixed by #8562 which just got merged

@oliverchang oliverchang changed the title How to disable/configure SystemSan? SystemSan per-target config Nov 7, 2022
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

No branches or pull requests

4 participants