git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] SECURITY: describe how to report vulnerabilities

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 29, 2021, 13:41 UTC
Message-ID
<nycvar.QRO.7.76.6.2103291537290.53@tvgsbejvaqbjf.bet>
In-Reply-To
<4f715120-3cd3-9f14-a291-0eb6e83a940e@gmail.com>
Hi Bagas,
On Sat, 27 Mar 2021, Bagas Sanjaya wrote:
Show 33 quoted lines
> On 27/03/21 05.12, Johannes Schindelin via GitGitGadget wrote:
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > 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@gmx.de>
> > ---
> >   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@googlegroups.com 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@googlegroups.com (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.

Show 13 quoted lines
> > +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.
Show 9 quoted lines
> > +- 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.

Show 23 quoted lines
> > +
> > +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

Previous: Bagas SanjayaNext: Johannes Schindelin via GitGitGadget
Message 7 of 15 in “Describe Git's security policy”
  1. 0/2 Describe Git's security policyJohannes Schindelin via GitGitGadget, Mar 26, 2021
  2. 2/2 Document how we do embargoed releasesJohannes Schindelin via GitGitGadget, Mar 26, 2021
  3. 1/2 SECURITY: describe how to report vulnerabilitiesJohannes Schindelin via GitGitGadget, Mar 26, 2021
  4. Denton LiuMar 27, 2021
  5. Johannes SchindelinMar 29, 2021
  6. Bagas SanjayaMar 27, 2021
  7. Johannes SchindelinMar 29, 2021
  8. 0/2 Describe Git's security policyJohannes Schindelin via GitGitGadget, Mar 29, 2021
  9. 2/2 Document how we do embargoed releasesJohannes Schindelin via GitGitGadget, Mar 29, 2021
  10. Robin H. JohnsonApr 20, 2021
  11. Junio C HamanoApr 20, 2021
  12. Robin H. JohnsonApr 20, 2021
  13. Junio C HamanoApr 20, 2021
  14. Junio C HamanoApr 20, 2021
  15. 1/2 SECURITY: describe how to report vulnerabilitiesJohannes Schindelin via GitGitGadget, Mar 29, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.