The main problem I'm facing in formulating this is that all the tools we have available for users reporting issues or for the team tracking issues are public-facing (github issues, mailinglists). I'm no expert, but I think we should offer a channel to privately report security vulnerabilities, and also track them in a private way. But as a project team we have no tooling for this (beyond, obviously, personal e-mail, but I'm not sure I'm comfortable with putting my personal e-mail in this document).
The Eclipse security team is set up for this. Should we just immediately redirect users to them when reporting possible vulnerabilities?
The security@eclipse.org alias is probably the most consistent channel. So that's probably the best default position.
Note that when possible (and sensible), the security team opens a Bugzilla record against "Community/Vulnerabilities", marked as "committers-only and with the project lead in copy. This was the best general solution that we could come up with at the time. I wonder if a better general solution would be for the security team to forward reports to the project leads? But that's something that we can decide later.
AFAIK, it's still the case that GitHub issues cannot be marked as private/confidential, but GitHub does have some infrastructure for dealing with vulnerabilities in a confidential manner (I need to spend some time investigating this).
GitLab does have the ability to mark an issue as confidential, so there's some potential there.
That makes sense to me. I saw the Gitlab confidentiality feature which looks great, but I'll have a hard time convincing our committers to switch to Gitlab just for that. If Github has some other way to deal with this, I'd be interested to know.
Meanwhile, here's a draft document I put together for our project: https://github.com/eclipse/rdf4j/pull/3046/files . Do you think this is sensible, and perhaps something other projects can copy and adapt as needed?
I'm starting to use GitLab issues as the means of requesting CVEs. It's not a great way, however, for a project team that is not otherwise engaged on GitLab to track the mitigation of an issue.
I like the draft. Listing "supported" versions is a good addition.
AFAICT, this is not widely adopted. It is formal and a bit complex. I see its use case for SaaS where the security.txt would be available at a well known URI.
For OSS code repos, the usual SECURITY.md with free form text should be enough. At the very least, it should contain the disclosure policy. IMO, this Snyk's article nails it.