Hi, The behavior you are observing has only become the standard somewhat recently [1], which is also why I had decided to point it out before we performed the integration [2].
Let me first confirm the facts: It is correct that OSS-Fuzz will automatically open the Monorail bugs to the public roughly a day after a patch has been verified upstream. The bug includes the crashing input, a truncated stack trace and all discussions that have been submitted on it. The detailed OSS-Fuzz report, including the full stack trace and minimized crashing input becomes semi-public: it can be accessed by anyone who is a primary_contact/auto_cc for *any* project hosted on OSS-Fuzz. The rationale for the new policy is explained briefly in [1]. Based on a conversation I had with an OSS-Fuzz maintainer, I would paraphrase this as follows: An upstream patch, no matter how innocuous the commit message may be, always has the potential to give away the fact that it exists to fix a security issue. This is especially true if a malicious third party has any interest in finding security issues in a particular open-source project. However, the easiest and certainly most cost-effective way to find such issues would not be to monitor and audit upstream patches, but rather to dedicate more CPU time to running the project's own fuzzers than OSS-Fuzz. While running OSS-Fuzz for all projects is certainly costing Google a lot of money, outperforming them on a single project is not expensive. Hence, bugs found by OSS-Fuzz should be assumed to be already known to anybody with a particular interest in breaking a particular library. Since test cases produced by OSS-Fuzz are not complete exploits (they are inputs to libraries, not applications), they aren't going to be useful for "drive-by script kiddies" or the likes. From that point of view, where dedicated third parties already have the opportunity to find bugs before the maintainers, this becomes more about keeping the user base in the know about security issues in the libraries they are using, e.g. via a project like OSV [3] as mentioned in [1]. That said, I fully understand your concerns and think that it might be possible to accommodate both your usual patch release workflow as well as the general OSS-Fuzz policies. For example, it could be reasonable to keep the crashing inputs non-public for an extended period of time (e.g. the 30 days bugs originally remained private for after the fix), while the conceptual information about the bug (i.e., it's Monorail entry on [4]) becomes public immediately. Can you think of a "middle ground" like this that would work for Apache? Given that OSS-Fuzz has very responsive maintainers and is fundamentally open-source, I would suggest to open an issue on the repository where follow-up discussions are accessible to a wider audience. It may be the case that the change made in [1] has not received the publicity it deserves yet and I'm sure the OSS-Fuzz maintainers would welcome your feedback on the new policy. If you prefer it this way, I could also create the issue myself tomorrow. Fabian [1] https://github.com/google/oss-fuzz/issues/5255 [2] https://mail-archives.apache.org/mod_mbox/commons-dev/202104.mbox/%3CCAMD8YMQ3ODf%3DTn8YAjsUkmym2wZ3TogR8uMy%2Bhb82asL6YEQhQ%40mail.gmail.com%3E [3] https://github.com/google/osv [4] https://bugs.chromium.org/p/oss-fuzz/issues/list On Mon, May 3, 2021 at 2:59 PM Stefan Bodewig <bode...@apache.org> wrote: > Hi (Fabian) > > by now we've resolved the first issues detected by ClusterFuzz (and I > forgot to credit it OSS Fuzz in Compress, my bad). What we observed is > that the issues became public automatically once the patch fixing the > issue was merged into master and ClusterFuzz reran the test. In the case > of Compress somewhere around 24 hours after fixing things in master. > > So far none of the issues we resolved would be deemed as a security > issue. But now we wonder, what if something indeed was a security issue > that we do not want to become public knowledge before we have cut a > release? Is there a way to prevent a verified and fixed issue from > becoming public automatically? > > Here at the ASF we vote on releases, and we vote on the code base in our > default branch (master for most if not all components). Voting takes at > least three days, so the current behavior would mean the issue became > public knowledge a few days before a release fixing it was available. > > Can you shed any light on this? > > Thanks > > Stefan >