Hi Bagas, On Sat, 27 Mar 2021, Bagas Sanjaya wrote: > On 27/03/21 05.12, Johannes Schindelin via GitGitGadget wrote: > > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > > > In the same document, describe that Git does not have Long Term Support > > (LTS) release trains, although security fixes are always applied to a > > few of the most recent release trains. > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > > --- > > SECURITY.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 51 insertions(+) > > create mode 100644 SECURITY.md > > > > diff --git a/SECURITY.md b/SECURITY.md > > new file mode 100644 > > index 000000000000..282790164e78 > > --- /dev/null > > +++ b/SECURITY.md > > @@ -0,0 +1,51 @@ > > +# Security Policy > > + > > +## Reporting a vulnerability > > + > > +Please send a detailed mail to git-security@xxxxxxxxxxxxxxxx to > > +report vulnerabilities in Git. > > + > > +Even when unsure whether the bug in question is an exploitable > > +vulnerability, it is recommended to send the report to > > +git-security@xxxxxxxxxxxxxxxx (and obviously not to discuss the > > +issue anywhere else). > > What about using reference word (`... it is recommended to send the > report to that mailing list`)? I would really like to repeat the email address here, to make really certain that the reader uses the correct one. > > +Vulnerabilities are expected to be discussed _only_ on that > > +list, and not in public, until the official announcement on the > > +Git mailing list on the release date. > > + > > +Examples for details to include: > > + > > +- Ideally a short description (or a script) to demonstrate an > > + exploit. > > +- The affected platforms and scenarios (the vulnerability might > > + only affect setups with case-sensitiv file systems, for > > + example). > > Oops, s/case-sensitiv/case-sensitive/ Yes, thanks, it will be fixed in v2. > > +- The name and affiliation of the security researchers who are > > + involved in the discovery, if any. > > +- Whether the vulnerability has already been disclosed. > > +- How long an embargo would be required to be safe. > > + > > +## Supported Versions > > The header should be `Supported Versions and How Maintenance > Releases are Made`. Not really. The maintenance is described in Documentation/howto/maintain-git.txt. It is not the purpose of `SECURITY.md` to document that, it just so happens that we hint a bit at it while talking about which branches get security updates. > > + > > +There are no official "Long Term Support" versions in Git. > > +Instead, the maintenance track (i.e. the versions based on the > > +most recently published feature release, also known as ".0" > > +version) sees occasional updates with bug fixes. > > + > > +Fixes to vulnerabilities are made for the maintenance track for > > +the latest feature release and merged up to the in-development > > +branches. The Git project makes no formal guarantee for any > > +older maintenance tracks to receive updates. In practice, > > +though, critical vulnerability fixes are applied not only to the > > +most recent track, but to at least a couple more maintenance > > +tracks. > > + > > +This is typically done by making the fix on the oldest and still > > +relevant maintenance track, and merging it upwards to newer and > > +newer maintenance tracks. > > AFAIK, maint branch are based on latest feature release (say v2.24), > and any bugfixes there are cherry-picked to relevant older releases, > but does it mean resetting maint branch to that older release, and > then resetting back to before that? Or how tagged maintenance release > are made without resetting maint? There are `maint-<maintenance-track>` branches, e.g. `maint-2.30`, `maint-2.29`, etc. But it really is not even interesting in the context of security updates how those maintenance branches are called, it is only interesting which versions will receive updates (and the updates come in the form of a newly-tagged version, not in the form of an updated `maint-<track>` branch; The latter just _happens_ to also happen, for maintenance reasons). > > +For example, v2.24.1 was released to address a couple of > > +[CVEs](https://cve.mitre.org/), and at the same time v2.14.6, > > +v2.15.4, v2.16.6, v2.17.3, v2.18.2, v2.19.3, v2.20.2, v2.21.1, > > +v2.22.2 and v2.23.1 were released. Thank you for your review! Johannes