• [gentoo-dev] [RFC] A new GLSA schema

    From John Helmert III@21:1/5 to All on Thu Nov 10 03:30:01 2022
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release
    today, in 2022, making that format almost as old as me.

    Somewhere along the way, it started to become necessary to target
    multiple version ranges within the same package. The GLSA format
    isn't capable of expressing this. Thus, I propose a new format (an
    example of which I've attached inline below), with the following
    changes from the old format:

    - Rework affected to use XML-ified logical operators to specify the
    affected versions, and *don't* use different fields to specify
    vulnerable and unaffected versions. Instead, only list vulnerable
    versions, unaffected versions are implicit.

    - Drop synopsis and description fields. These fields contain the same
    information and will be superceded by the existing impact field.

    - Drop background field. This is usually just the package's
    description, or some similar text. No reason to reproduce it in
    GLSAs.

    What does everyone think?

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE glsa SYSTEM "https://www.gentoo.org/dtd/glsa-2.dtd">
    <glsa id="202213-00">
    <title>Nvidia Drivers: Multiple Vulnerabilities</title>
    <announced>2022-13-00</announced>
    <revised count="1">2022-13-00</revised>
    <bug>764512</bug>
    <bug>784596</bug>
    <bug>803389</bug>
    <bug>832867</bug>
    <bug>845063</bug>
    <bug>866527</bug>
    <affected>
    <any>
    <and>
    <constraint op="ge" atom="x11-drivers/nvidia-drivers-390"/>
    <constraint op="lt" atom="x11-drivers/nvidia-drivers-390.154"/>
    </and>
    <and>
    <constraint op="ge" atom="x11-drivers/nvidia-drivers-470"/>
    <constraint op="lt" atom="x11-drivers/nvidia-drivers-470.141.03"/>
    </and>
    <and>
    <constraint op="ge" atom="x11-drivers/nvidia-drivers-510.85"/>
    <constraint op="lt" atom="x11-drivers/nvidia-drivers-510.85.02"/>
    </and>
    <and>
    <constraint op="ge" atom="x11-drivers/nvidia-drivers-515.65"/>
    <constraint op="lt" atom="x11-drivers/nvidia-drivers-515.65.01"/>
    </and>
    </any>
    </affected>
    <impact type="high">
    <p>These vulnerabilities could allow a local user with low privileges to gain root privileges.</p>
    </impact>
    <workaround>
    <p>There is no known workaround at this time.</p>
    </workaround>
    <resolution>
    <p>All Nvidia drivers 390 users should upgrade to the latest version:</p>

    <code>
    # emerge --ask --oneshot --verbose ">=x11-drivers/nvidia-drivers-390.154"
    </code>

    <p>All Nvidia drivers 470 users should upgrade to the latest version:</p>

    <code>
    # emerge --ask --oneshot --verbose ">=x11-drivers/nvidia-drivers-470.141.03"
    </code>

    <p>All Nvidia drivers 510 users should upgrade to the latest version:</p>

    <code>
    # emerge --ask --oneshot --verbose ">=x11-drivers/nvidia-drivers-510.85.02"
    </code>

    <p>All Nvidia drivers 515.65.01 users should upgrade to the latest version:</p>

    <code>
    # emerge --ask --oneshot --verbose ">=x11-drivers/nvidia-drivers-515.65.01"
    </code>
    </resolution>
    <references>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1052">CVE-2021-1052</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1053">CVE-2021-1053</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1056">CVE-2021-1056</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE‑2021‑1076">CVE‑2021‑1076</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE‑2021‑1077">CVE‑2021‑1077</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1090">CVE-2021-1090</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1093">CVE-2021-1093</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1094">CVE-2021-1094</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2021-1095">CVE-2021-1095</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE‑2022‑21813">CVE‑2022‑21813</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE‑2022‑21814">CVE‑2022‑21814</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-28181">CVE-2022-28181</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-28183">CVE-2022-28183</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-28184">CVE-2022-28184</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-28185">CVE-2022-28185</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-31607">CVE-2022-31607</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-31608">CVE-2022-31608</uri>
    <uri link="https://nvd.nist.gov/vuln/detail/CVE-2022-31615">CVE-2022-31615</uri>
    </references>
    <metadata tag="requester" timestamp="2022-09-28T14:25:19.979184Z">larry</metadata>
    <metadata tag="reviewer" timestamp="2022-09-29T14:25:19.979184Z">notlarry</metadata>
    <metadata tag="submitter" timestamp="2022-09-30T14:25:19.985055Z">larry</metadata>
    </glsa>

    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQQyG9yfCrmO0LPSdG2gXq2+aa/JtQUCY2xhkwAKCRCgXq2+aa/J tVQWAP4nxiTfX721H2zXkzLNGoixhScv4A8lZz9c+N2Bdvvp8wEArl25XwJx8YRj auDKEO0wE0nqMNgypNSS5ItPj8qN1Qc=
    =Hl/1
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to John Helmert III on Thu Nov 10 04:50:01 2022
    On Wed, 2022-11-09 at 20:27 -0600, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release
    today, in 2022, making that format almost as old as me.

    Somewhere along the way, it started to become necessary to target
    multiple version ranges within the same package. The GLSA format
    isn't capable of expressing this. Thus, I propose a new format (an
    example of which I've attached inline below), with the following
    changes from the old format:

     - Rework affected to use XML-ified logical operators to specify the
       affected versions, and *don't* use different fields to specify
       vulnerable and unaffected versions. Instead, only list vulnerable
       versions, unaffected versions are implicit.

    Does that imply op="" will now be limited to the standard ebuild
    operators? Perhaps it'd be cleaner to take a step further and remove
    the attribute in favor of going 100% ebuild syntax (yeah, escaping is
    gonna suck there).


     - Drop synopsis and description fields. These fields contain the same
       information and will be superceded by the existing impact field.

    Well, I'm not saying "no" but it feels a bit weird reading a GLSA that
    doesn't say a word what the problem is but specifies impact.

    BTW have you considered switching to JSON or TOML? ;-)


    --
    Best regards,
    Michał Górny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Thu Nov 10 05:00:01 2022
    On 10 Nov 2022, at 03:43, Michał Górny <[email protected]> wrote:

    On Wed, 2022-11-09 at 20:27 -0600, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release
    today, in 2022, making that format almost as old as me.

    Somewhere along the way, it started to become necessary to target
    multiple version ranges within the same package. The GLSA format
    isn't capable of expressing this. Thus, I propose a new format (an
    example of which I've attached inline below), with the following
    changes from the old format:

    - Rework affected to use XML-ified logical operators to specify the
    affected versions, and *don't* use different fields to specify
    vulnerable and unaffected versions. Instead, only list vulnerable
    versions, unaffected versions are implicit.

    Does that imply op="" will now be limited to the standard ebuild
    operators? Perhaps it'd be cleaner to take a step further and remove
    the attribute in favor of going 100% ebuild syntax (yeah, escaping is
    gonna suck there).


    - Drop synopsis and description fields. These fields contain the same
    information and will be superceded by the existing impact field.

    Well, I'm not saying "no" but it feels a bit weird reading a GLSA that doesn't say a word what the problem is but specifies impact.


    I think we'd rename impact -> description but description would now
    be "description of the problem" and not "description of the package".

    -----BEGIN PGP SIGNATURE-----

    iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY2x3A18UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R kIOrAP0VGtklCgGA0YHuUcblJEP5WVC/aVt7xRl2PwJsw1pkcwD/Y2skYx3sdF/T oI29f+Rfixo8cSOwYL8xpeYQ/iLK3QM=
    =52DM
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to All on Thu Nov 10 05:20:02 2022
    On Thu, Nov 10, 2022 at 04:43:01AM +0100, Michał Górny wrote:
    On Wed, 2022-11-09 at 20:27 -0600, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release today, in 2022, making that format almost as old as me.

    Somewhere along the way, it started to become necessary to target
    multiple version ranges within the same package. The GLSA format
    isn't capable of expressing this. Thus, I propose a new format (an
    example of which I've attached inline below), with the following
    changes from the old format:

     - Rework affected to use XML-ified logical operators to specify the
       affected versions, and *don't* use different fields to specify
       vulnerable and unaffected versions. Instead, only list vulnerable
       versions, unaffected versions are implicit.

    Does that imply op="" will now be limited to the standard ebuild
    operators? Perhaps it'd be cleaner to take a step further and remove
    the attribute in favor of going 100% ebuild syntax (yeah, escaping is
    gonna suck there).

    The added complexity of escaping is exactly what I wanted to avoid!
    These are already enumerated in the old glsa.dtd [1] for usage in a
    similar way:

    <!ATTLIST vulnerable range (le|lt|eq|gt|ge|rlt|rle|rgt|rge) #REQUIRED

    [1] https://gitweb.gentoo.org/data/dtd.git/tree/glsa.dtd#n126


     - Drop synopsis and description fields. These fields contain the same    information and will be superceded by the existing impact field.

    Well, I'm not saying "no" but it feels a bit weird reading a GLSA that doesn't say a word what the problem is but specifies impact.

    You're right, but with 19 CVEs (for example), is anyone really
    interested in hearing about the problem that caused each of the 19
    issues? In the current format we've resorted to writing descriptions
    like...

    Multiple vulnerabilities have been discovered in $PACKAGE. Please
    review the CVE identifiers referenced below for details.

    ... simply because it's infeasible (and in my opinion, not really
    necessary) for us to enumerate the issues in this way. Also, I note
    that the section being called "impact" doesn't preclude us from
    incorporating text that we would currently put in the "description" or "synopsis" fields.

    BTW have you considered switching to JSON or TOML? ;-)

    Definitely! But that adds significantly more complexity to
    implementing this, and given I'm likely to be the only one working on
    it, I decided against trying it. If I were inventing GLSAs for the
    first time I'd definitely avoid XML, of course.


    --
    Best regards,
    Michał Górny



    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQQyG9yfCrmO0LPSdG2gXq2+aa/JtQUCY2x6YAAKCRCgXq2+aa/J tbgQAP4/0BjfYlOBQxBOxd89JLAs3t0SpM5Gcl30PHI/WMZakAD/UxGpq2Zjt45C X4S1Hc9dsQDJ6lVZ95jZiJiCRoM2LA4=
    =NLb9
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to Marc Schiffbauer on Thu Nov 10 05:20:01 2022
    On Thu, Nov 10, 2022 at 02:10:09PM +1000, Marc Schiffbauer wrote:
    * Sam James schrieb am 10.11.22 um 13:58 Uhr:

    I think we'd rename impact -> description but description would now
    be "description of the problem" and not "description of the package".


    +1, but additionally having the short description of the package sounds still useful to me, as not always everybody knows what any package is exactly for and the description will help a lot in telling the
    impact/danger of your own infra that might be caused by that package.

    -Marc

    Are you saying you rely on the background field, which is generally
    just the package's DESCRIPTION? Maybe glsa-check should just spit out
    the package's DESCRIPTION then too.
    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQQyG9yfCrmO0LPSdG2gXq2+aa/JtQUCY2x7zQAKCRCgXq2+aa/J tSrvAP9TniiCVln/x2HZNNL23tPpi5pBh98j718alrLd/Sq5TQEAyKuC5bLZK26Q e8EJQ7HEhqD0Nb5eMoyWcH9aCpsJPQ4=
    =dKgF
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Schiffbauer@21:1/5 to All on Thu Nov 10 05:20:02 2022
    * Sam James schrieb am 10.11.22 um 13:58 Uhr:

    I think we'd rename impact -> description but description would now
    be "description of the problem" and not "description of the package".


    +1, but additionally having the short description of the package sounds
    still useful to me, as not always everybody knows what any package is
    exactly for and the description will help a lot in telling the
    impact/danger of your own infra that might be caused by that package.

    -Marc

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEMQyApFXSKKmBt8XxODfGO0Yy7b8FAmNseaEACgkQODfGO0Yy 7b+XUxAAt3JtMrGQR7ymPraKnqarZ16GqojBhP+gsfoIxXUEsS5R4f/YHrSNByUG oGGlCfrnqdAkSj8tucijvtkRc3JtyEMBf2zNhsF9LKJ/h+BJ3IHn6L87mkefIQ/T 36YePJlelsk1GP/aXb4iKt7rAFe0lh05kM3hcrLrHPuhmk4sLudbV+JblYYbfUL9 q6VMEbbrXVsJekB30tTxcbnudWOgzF8KRLRwD3aOhzEf7nnGOVUlfFPFaewjfMA7 /XkEn1P7wwWZmYoDjEYoiP/O4LFjadZhR+WM4S2mahPiUQF4Y6NfHNBe5yyAnJRK GdfjbwLOTF0zayQ7sRiQg7ELCxJcCPf6Sc5cBRLEjTOkx13NOopWLKuBzhbOUQKn pNM9GbEd2fyfDI4dBJe9XliQXkFAiGw5ZI+IWWKPuscet8odiHEqovZDotgpIaBH HTALjcut1cUGZwwVzeTnpJuT4Fzr3ijslRE1jWPpEV/xJSKQngPIWDHF5RaWjRaG fFWbJNEtwN6wvm/LqIo8siqW0xdo0oy2YBrERZu+tw7rStYvJV8GJvXedRqS5kBd 7D9aunTo1ycUyhL3GreZmsrAp0017Q2IRJZSC4xJfYBQtIA5B0trfhfRA0Lfnhlz Y26CNNgnofqlqXyXg1iOrIMjR2P9UOEUbqgG3/8t9Kkqa+dsh/E=
    =94t4
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Schiffbauer@21:1/5 to All on Thu Nov 10 08:00:01 2022
    * John Helmert III schrieb am 10.11.22 um 14:19 Uhr:
    On Thu, Nov 10, 2022 at 02:10:09PM +1000, Marc Schiffbauer wrote:
    * Sam James schrieb am 10.11.22 um 13:58 Uhr:

    I think we'd rename impact -> description but description would now
    be "description of the problem" and not "description of the package".


    +1, but additionally having the short description of the package sounds still useful to me, as not always everybody knows what any package is exactly for and the description will help a lot in telling the impact/danger of your own infra that might be caused by that package.

    -Marc

    Are you saying you rely on the background field, which is generally
    just the package's DESCRIPTION? Maybe glsa-check should just spit out
    the package's DESCRIPTION then too.

    Sometimes the GLSA-Mails will be send to some team mailbox for example,
    and a teammember has to decide how urgent an update may be. Having a
    little description for the software mentioned in the GLSA is helpful
    then.


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEMQyApFXSKKmBt8XxODfGO0Yy7b8FAmNsnlwACgkQODfGO0Yy 7b+qMw//TvJhQLG2K7zHd4ecVrqFhzFskZvezjfU9Y9W6mjh2fIlDps+Mx/8TnkE FFGvIg6OiRbG9I9z2Z+mxuZmkJwL8ks5JqzGzFA8p1VkZii5EUJF3ZEJ38OxgGPh jfbYFCRM+WzcgMm98iXuJBQ2u9KX+XkT//dho0jxvgP1JaAi2hOxNLJj8UQh8WSC u75g2Ko/yyzz3Wh5Z6MOz+uHvE82o+h77cl36q6I7TYRCWD/HcmV4imH+JNKW0W/ HU+3foMMx336UuFfzcv3YrQxDlvhBjhGZHxvRTj6Aiqb5bOzW9k8z5hXxsPXnJ6N AWEXaqp00grr3UphuCayYIchEg3uj7r9YUlwNDZ/yKNvO5J4k7BHJ5cTHpB9H3vd 17UxguYXb1lia9hD6ZN478E845TMP79oKhZkxEKSuDLBGba0P1dBC/D1AFg41jiX uZCiL9OwTeYTSPZ1vQuv1DBJAf9A3u4O5Ydgqr3ZhX1kd/FYWb7Yq120rKI7R01/ phx5GqrgS8GvqWDlPGN85Msn1XqkX9E2Cs2E8RqFAWWqWZyRppIyd+LfSP9M6vgx ALbEjDUIYkgK1HiOc7SOqb9+sR1AWG2SIDD984bD6TVOybpR4147ZIA382M6WkLy SWmlG0AalthEbwYdCe1D3W+T1sErlrjbR3oFrtxjeqq3ZXXkuOI=
    =3JM7
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jaco Kroon@21:1/5 to John Helmert III on Thu Nov 10 09:50:01 2022
    Hi,

    On 2022/11/10 06:13, John Helmert III wrote:
     - Drop synopsis and description fields. These fields contain the same >>>    information and will be superceded by the existing impact field.
    Well, I'm not saying "no" but it feels a bit weird reading a GLSA that
    doesn't say a word what the problem is but specifies impact.
    You're right, but with 19 CVEs (for example), is anyone really
    interested in hearing about the problem that caused each of the 19
    issues? In the current format we've resorted to writing descriptions
    like...
    Actually yes!  Also a way to check whether my specific configuration is vulnerable for this specific CVE, something like "If you're setting
    foo=bar in /etc/pkg.conf your system is vulnerable, if you've got
    foo=phew you're most likely fine".  Obviously we could rely a bit more
    on package maintainers (myself included) to provide these.

    I don't think I've seen a single "workaround" and usually the text here
    just says "No known workaround", where the reality is that for something
    like asterisk just not using the affected module is good enough.  So workaround:  "Don't use chan_sip, use chan_pjsip instead" would be
    perfectly fine here.

    One could thus also link GLSA issues to specific USE flags, taking
    asterisk again, let's say the problem is with the http web server having
    a buffer overflow in the http basic authenticator, then if that embedded
    server isn't even compiled in, how can the package be vulnerable?  So
    here vulnerable would be something like
    <net-misc/asterisk-16.X.Y:16[http], <net-misc/asterisk-18.A.B[http],
    which then also indicates the "fixed" versions, as has been pointed out "affected" and "not affected" are inverses.

    A mechanism to QUERY which installed packages are affected by known
    GLSA's would also be tremendously helpful.


    Multiple vulnerabilities have been discovered in $PACKAGE. Please
    review the CVE identifiers referenced below for details.

    ... simply because it's infeasible (and in my opinion, not really
    necessary) for us to enumerate the issues in this way. Also, I note
    that the section being called "impact" doesn't preclude us from
    incorporating text that we would currently put in the "description" or "synopsis" fields.

    Of course giving the full details in the GLSA is a pain in the backside,
    is there a way to retrieve this information automatically from the CVE database?  In other words, just get the blurp from there and include it here.  It won't give full details, but at least it will give some extra details not currently available.  Effectively we choose to ignore
    certain GLSAs if we consider their impact to be low.

    It would also help a great deal to automate that if the CVE scores and
    the "inputs" into that could be made available, eg, CVE score 7.0, remote=yes/no, .... (And I'm fairly certain importing this from the CVE database should be possible).

    Of course, someone has to do the work, and the current status quo
    doesn't irritate me enough to free up cycles to fix it, but if the above
    could be (partially) accommodated that would be really, really great, if
    not, no harm done.

    Much appreciate that there is work being done in this area.

    Kind Regards,
    Jaco

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthew Smith@21:1/5 to Jaco Kroon on Thu Nov 10 10:50:01 2022
    Hi,

    On 10/11/2022 08:43, Jaco Kroon wrote:
    A mechanism to QUERY which installed packages are affected by known
    GLSA's would also be tremendously helpful.

    You can use glsa-check for this, which comes with portage: https://wiki.gentoo.org/wiki/Portage#glsa-check

    Thanks,
    Matthew

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jaco Kroon@21:1/5 to Sam James on Thu Nov 10 12:00:01 2022
    Hi Sam,

    On 2022/11/10 12:19, Sam James wrote:

    One could thus also link GLSA issues to specific USE flags, taking asterisk again, let's say the problem is with the http web server having a buffer overflow in the http basic authenticator, then if that embedded server isn't even compiled in, how can
    the package be vulnerable? So here vulnerable would be something like <net-misc/asterisk-16.X.Y:16[http], <net-misc/asterisk-18.A.B[http], which then also indicates the "fixed" versions, as has been pointed out "affected" and "not affected" are inverses.

    The problem with this is, there's a high cost associated with getting it wrong. A "workaround" is accepted to have some level of fuzziness (we always try to be accurate, but it's not the same as saying something is absolutely not vulnerable with USE=-
    foo).

    But I guess if a library totally isn't used then we can be sure sometimes. Not sure now! I welcome more thoughts on this.

    In the specific example I can most certainly make that assertion,
    assuming of course I verify that the code is in fact in that library, as
    you say.  So if res_http in this case creates the buffer instead of dynamically allocating it, or performing bounds checks, and not the
    common digest code, then I can state that with 100% certainty.  But yes,
    this may or may not be a good idea, it's an idea/concept.  Michał
    suggested just using the ebuild syntax, which would imply this becomes available.

    A mechanism to QUERY which installed packages are affected by known GLSA's would also be tremendously helpful.

    Multiple vulnerabilities have been discovered in $PACKAGE. Please
    review the CVE identifiers referenced below for details.

    ... simply because it's infeasible (and in my opinion, not really
    necessary) for us to enumerate the issues in this way. Also, I note
    that the section being called "impact" doesn't preclude us from
    incorporating text that we would currently put in the "description" or
    "synopsis" fields.
    Of course giving the full details in the GLSA is a pain in the backside, is there a way to retrieve this information automatically from the CVE database? In other words, just get the blurp from there and include it here. It won't give full details,
    but at least it will give some extra details not currently available. Effectively we choose to ignore certain GLSAs if we consider their impact to be low.
    1. I really welcome your input here, as we're trying to figure out what people actually want from GLSAs vs what is just noise for both them & us.
    My pleasure.  Really enjoy having these discussions.

    2. I think this should be possible, but is it substantially more valuable than doing the reference links like we do now? What if there's absolutely tonnes like 20+?

    Then I'd be following 20+ links :).  I'd rather get that information in
    one place, even if it is a longer read.  Perhaps pointless to put this
    in the GLSA XML structure, but glsa-check can perhaps just get an option
    extra to -d to "retrieve and display CVE information additionally". 
    Re-use the -c that's currently used with -l.  That way even with 20+
    CVEs I can get glsa-check to fetch the information rather than having to
    follow the links and decoding the usually cryptic information there on a case-by-case basis.  Or an option to pass the url's to a command, eg "-u firefox" which will then execute "firefox ${url}" for every referenced URL.

    -d and -l could perhaps learn to output xml and/or json and/or the other
    format Michał mentioned.

    It would also help a great deal to automate that if the CVE scores and the "inputs" into that could be made available, eg, CVE score 7.0, remote=yes/no, .... (And I'm fairly certain importing this from the CVE database should be possible).

    Yeah, we've talked about this before as well.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Thu Nov 10 11:30:01 2022
    On 10 Nov 2022, at 08:43, Jaco Kroon <[email protected]> wrote:

    Hi,

    On 2022/11/10 06:13, John Helmert III wrote:
    - Drop synopsis and description fields. These fields contain the same >>>> information and will be superceded by the existing impact field.
    Well, I'm not saying "no" but it feels a bit weird reading a GLSA that
    doesn't say a word what the problem is but specifies impact.
    You're right, but with 19 CVEs (for example), is anyone really
    interested in hearing about the problem that caused each of the 19
    issues? In the current format we've resorted to writing descriptions
    like...
    Actually yes! Also a way to check whether my specific configuration is vulnerable for this specific CVE, something like "If you're setting foo=bar in /etc/pkg.conf your system is vulnerable, if you've got foo=phew you're most likely fine". Obviously
    we could rely a bit more on package maintainers (myself included) to provide these.

    I don't think I've seen a single "workaround" and usually the text here just says "No known workaround", where the reality is that for something like asterisk just not using the affected module is good enough. So workaround: "Don't use chan_sip, use
    chan_pjsip instead" would be perfectly fine here.


    I can't promise anything but if we've got fewer (IMO) useless/noisy fields, we can try put a bit more effort into these.

    But it's a good idea to actually explicitly ask maintainers for suggestions in security bugs!

    One could thus also link GLSA issues to specific USE flags, taking asterisk again, let's say the problem is with the http web server having a buffer overflow in the http basic authenticator, then if that embedded server isn't even compiled in, how can
    the package be vulnerable? So here vulnerable would be something like <net-misc/asterisk-16.X.Y:16[http], <net-misc/asterisk-18.A.B[http], which then also indicates the "fixed" versions, as has been pointed out "affected" and "not affected" are inverses.


    The problem with this is, there's a high cost associated with getting it wrong. A "workaround" is accepted to have some level of fuzziness (we always try to be accurate, but it's not the same as saying something is absolutely not vulnerable with USE=-foo)
    .

    But I guess if a library totally isn't used then we can be sure sometimes. Not sure now! I welcome more thoughts on this.

    A mechanism to QUERY which installed packages are affected by known GLSA's would also be tremendously helpful.


    Multiple vulnerabilities have been discovered in $PACKAGE. Please
    review the CVE identifiers referenced below for details.

    ... simply because it's infeasible (and in my opinion, not really
    necessary) for us to enumerate the issues in this way. Also, I note
    that the section being called "impact" doesn't preclude us from
    incorporating text that we would currently put in the "description" or
    "synopsis" fields.

    Of course giving the full details in the GLSA is a pain in the backside, is there a way to retrieve this information automatically from the CVE database? In other words, just get the blurp from there and include it here. It won't give full details,
    but at least it will give some extra details not currently available. Effectively we choose to ignore certain GLSAs if we consider their impact to be low.

    1. I really welcome your input here, as we're trying to figure out what people actually want from GLSAs vs what is just noise for both them & us.

    2. I think this should be possible, but is it substantially more valuable than doing the reference links like we do now? What if there's absolutely tonnes like 20+?


    It would also help a great deal to automate that if the CVE scores and the "inputs" into that could be made available, eg, CVE score 7.0, remote=yes/no, .... (And I'm fairly certain importing this from the CVE database should be possible).


    Yeah, we've talked about this before as well.

    -----BEGIN PGP SIGNATURE-----

    iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY2zQO18UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R kGeLAQDCCpnJTIWrqfZLsNvj6fk47gKlzfMl4a3mX2mI9w4UswD+IpITP0aLQGbt Us3HOv480ODHdUxTa3Sv90TO9TZkAgU=
    =ntJ2
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to Jaco Kroon on Thu Nov 10 15:30:01 2022
    On Thu, Nov 10, 2022 at 10:43:55AM +0200, Jaco Kroon wrote:
    Hi,

    On 2022/11/10 06:13, John Helmert III wrote:
    �- Drop synopsis and description fields. These fields contain the same >>> �� information and will be superceded by the existing impact field.
    Well, I'm not saying "no" but it feels a bit weird reading a GLSA that
    doesn't say a word what the problem is but specifies impact.
    You're right, but with 19 CVEs (for example), is anyone really
    interested in hearing about the problem that caused each of the 19
    issues? In the current format we've resorted to writing descriptions like...
    Actually yes!� Also a way to check whether my specific configuration is vulnerable for this specific CVE, something like "If you're setting
    foo=bar in /etc/pkg.conf your system is vulnerable, if you've got
    foo=phew you're most likely fine".� Obviously we could rely a bit more
    on package maintainers (myself included) to provide these.

    That would greatly increase the care necessary for us to release a
    GLSA. It's already a big pain (even with the new GLSAMaker being a
    huge improvement over the old one), and I'd like to make it less of a
    pain. Maybe a proxy for this information for you would be the "type"
    field of the impact?

    I don't think I've seen a single "workaround" and usually the text here
    just says "No known workaround", where the reality is that for something like asterisk just not using the affected module is good enough.� So workaround:� "Don't use chan_sip, use chan_pjsip instead" would be
    perfectly fine here.

    One could thus also link GLSA issues to specific USE flags, taking
    asterisk again, let's say the problem is with the http web server having
    a buffer overflow in the http basic authenticator, then if that embedded server isn't even compiled in, how can the package be vulnerable?� So
    here vulnerable would be something like
    <net-misc/asterisk-16.X.Y:16[http], <net-misc/asterisk-18.A.B[http],
    which then also indicates the "fixed" versions, as has been pointed out "affected" and "not affected" are inverses.

    The "atom" attribute of each constraint is using atom syntax, so along
    with that we get the ability to specify USE exactly like "asterisk-16.X.Y:16[http]".

    A mechanism to QUERY which installed packages are affected by known
    GLSA's would also be tremendously helpful.

    Like glsa-check?


    Multiple vulnerabilities have been discovered in $PACKAGE. Please
    review the CVE identifiers referenced below for details.

    ... simply because it's infeasible (and in my opinion, not really necessary) for us to enumerate the issues in this way. Also, I note
    that the section being called "impact" doesn't preclude us from incorporating text that we would currently put in the "description" or "synopsis" fields.

    Of course giving the full details in the GLSA is a pain in the backside,
    is there a way to retrieve this information automatically from the CVE database?� In other words, just get the blurp from there and include it here.� It won't give full details, but at least it will give some extra details not currently available.� Effectively we choose to ignore
    certain GLSAs if we consider their impact to be low.

    We could import CVE descriptions, but then we'd end up with a huge
    wall of mostly useless text, such as CVE-2021-35648's:

    Vulnerability in the MySQL Server product of Oracle MySQL (component:
    Server: FTS). Supported versions that are affected are 8.0.26 and
    prior. Easily exploitable vulnerability allows high privileged
    attacker with network access via multiple protocols to compromise
    MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash
    (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability
    impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H).

    MySQL bugs usually have dozens of CVEs associated with them. Would it
    really be useful to have dozens of those paragraphs in GLSAs? Would it
    be useful to have that text included in a GLSA for MariaDB or
    PostgreSQL if they're affected by the same issue?

    On the other end of the spectrum (CVE-2022-41035):

    Microsoft Edge (Chromium-based) Spoofing Vulnerability.

    Does that tell anyone anything about the vulnerability? Not really, I
    think. It'd just be added noise in a GLSA.

    It would also help a great deal to automate that if the CVE scores and
    the "inputs" into that could be made available, eg, CVE score 7.0, remote=yes/no, .... (And I'm fairly certain importing this from the CVE database should be possible).

    It is possible, but is it really useful? CVSS scores are really
    just arbitrary numbers produced by CNAs (just like descriptions are
    arbitrary text). Even worse, sometimes the CNA changes the CVSS score,
    so if we reproduce it into GLSAs, would we have to keep track of any
    changes and update the GLSA accordingly?

    The CVE IDs are already exposed by the GLSA as references.uri
    fields. From those, it'd be trivial to automate the retrieval of the
    CVE data from their authoritative sources (e.g. NIST's NVD API [1] or cvelist.git itself [2]). But, maybe it would be useful to have a
    "type" attribute in the uri field indicating what kind of identifier
    it is (whether CVE, WSA, XSA, etc), and then other tools could more
    easily grok each kind of reference.

    [1] https://nvd.nist.gov/developers/vulnerabilities
    [2] https://github.com/CVEProject/cvelist

    Of course, someone has to do the work, and the current status quo
    doesn't irritate me enough to free up cycles to fix it, but if the above could be (partially) accommodated that would be really, really great, if not, no harm done.

    Much appreciate that there is work being done in this area.

    Kind Regards,
    Jaco



    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQQyG9yfCrmO0LPSdG2gXq2+aa/JtQUCY20JpQAKCRCgXq2+aa/J te88AP40/mMORzNY2JORhDN0SYp/YUI86sfhlimogxYmUrUTAgD/SY5a3Z+D9yPX xj9TcKOJhzdIo6lxxebfU6BHiIjftQU=
    =VXJ5
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jaco Kroon@21:1/5 to John Helmert III on Thu Nov 10 21:10:01 2022
    Hi,

    On 2022/11/10 16:24, John Helmert III wrote:
    On Thu, Nov 10, 2022 at 10:43:55AM +0200, Jaco Kroon wrote:
    Hi,

    On 2022/11/10 06:13, John Helmert III wrote:
     - Drop synopsis and description fields. These fields contain the same >>>>>    information and will be superceded by the existing impact field. >>>> Well, I'm not saying "no" but it feels a bit weird reading a GLSA that >>>> doesn't say a word what the problem is but specifies impact.
    You're right, but with 19 CVEs (for example), is anyone really
    interested in hearing about the problem that caused each of the 19
    issues? In the current format we've resorted to writing descriptions
    like...
    Actually yes!  Also a way to check whether my specific configuration is
    vulnerable for this specific CVE, something like "If you're setting
    foo=bar in /etc/pkg.conf your system is vulnerable, if you've got
    foo=phew you're most likely fine".  Obviously we could rely a bit more
    on package maintainers (myself included) to provide these.
    That would greatly increase the care necessary for us to release a
    GLSA. It's already a big pain (even with the new GLSAMaker being a
    huge improvement over the old one), and I'd like to make it less of a
    pain. Maybe a proxy for this information for you would be the "type"
    field of the impact?

    Fair enough at pain.  Limited people, limited resources.  I do think
    that package maintainers should get involved in the process though, to
    help provide this information, but this should not cause delays in
    getting the GLSAs released.  Even if the GLSA gets updated on a future iteration to add some of this information.

    What I'm after is being able to quickly decide (since we sometimes see a
    fair number of of GLSAs coming in around the same time, affecting
    different systems, with variable degrees of "exposedness" and need to be
    able to prioritise which systems to update first) whether we can
    (relatively) safely ignore a GLSA (at least temporarily).


    I don't think I've seen a single "workaround" and usually the text here
    just says "No known workaround", where the reality is that for something
    like asterisk just not using the affected module is good enough.  So
    workaround:  "Don't use chan_sip, use chan_pjsip instead" would be
    perfectly fine here.

    One could thus also link GLSA issues to specific USE flags, taking
    asterisk again, let's say the problem is with the http web server having
    a buffer overflow in the http basic authenticator, then if that embedded
    server isn't even compiled in, how can the package be vulnerable?  So
    here vulnerable would be something like
    <net-misc/asterisk-16.X.Y:16[http], <net-misc/asterisk-18.A.B[http],
    which then also indicates the "fixed" versions, as has been pointed out
    "affected" and "not affected" are inverses.
    The "atom" attribute of each constraint is using atom syntax, so along
    with that we get the ability to specify USE exactly like "asterisk-16.X.Y:16[http]".

    A mechanism to QUERY which installed packages are affected by known
    GLSA's would also be tremendously helpful.
    Like glsa-check?
    We currently use that, but it really just says which GLSAs are
    applicable to the system, it doesn't tell me net-misc/asterisk-16.0.1:16
    - we've got ways of working from the glsa-check output to that.  Of
    particular annoyance if a GLSA lists multiple packages, of which you
    have one installed, and one not. Given net-misc/asterisk-16.0.1:16 I can
    quite quickly determine that emerge -1av net-misc/asterisk:16 will
    resolve the problem with the lowest possible risk of breakage to other components on the system, and without having to perform a full update.
    Multiple vulnerabilities have been discovered in $PACKAGE. Please
    review the CVE identifiers referenced below for details.

    ... simply because it's infeasible (and in my opinion, not really
    necessary) for us to enumerate the issues in this way. Also, I note
    that the section being called "impact" doesn't preclude us from
    incorporating text that we would currently put in the "description" or
    "synopsis" fields.
    Of course giving the full details in the GLSA is a pain in the backside,
    is there a way to retrieve this information automatically from the CVE
    database?  In other words, just get the blurp from there and include it
    here.  It won't give full details, but at least it will give some extra
    details not currently available.  Effectively we choose to ignore
    certain GLSAs if we consider their impact to be low.
    We could import CVE descriptions, but then we'd end up with a huge
    wall of mostly useless text, such as CVE-2021-35648's:

    Vulnerability in the MySQL Server product of Oracle MySQL (component:
    Server: FTS). Supported versions that are affected are 8.0.26 and
    prior. Easily exploitable vulnerability allows high privileged
    attacker with network access via multiple protocols to compromise
    MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash
    (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H).

    MySQL bugs usually have dozens of CVEs associated with them. Would it
    really be useful to have dozens of those paragraphs in GLSAs? Would it
    be useful to have that text included in a GLSA for MariaDB or
    PostgreSQL if they're affected by the same issue?

    On the other end of the spectrum (CVE-2022-41035):

    Microsoft Edge (Chromium-based) Spoofing Vulnerability.

    Does that tell anyone anything about the vulnerability? Not really, I
    think. It'd just be added noise in a GLSA.

    Fair.  Both those descriptions can be significantly better.


    It would also help a great deal to automate that if the CVE scores and
    the "inputs" into that could be made available, eg, CVE score 7.0,
    remote=yes/no, .... (And I'm fairly certain importing this from the CVE
    database should be possible).
    It is possible, but is it really useful? CVSS scores are really
    just arbitrary numbers produced by CNAs (just like descriptions are
    arbitrary text). Even worse, sometimes the CNA changes the CVSS score,
    so if we reproduce it into GLSAs, would we have to keep track of any
    changes and update the GLSA accordingly?
    Not quite arbitrary, there is supposed to be a set of input variables
    that is from what I recall yes/no in nature (eg, directly remotely
    exploitable, require auth to exploit etc ...) that factors into a
    formula that generates the score.  The Chromium one above I note has
    been manually adjusted the severity to moderate in spite of the
    calculated base score being 8.2.

    The CVE IDs are already exposed by the GLSA as references.uri
    fields. From those, it'd be trivial to automate the retrieval of the
    CVE data from their authoritative sources (e.g. NIST's NVD API [1] or cvelist.git itself [2]). But, maybe it would be useful to have a
    "type" attribute in the uri field indicating what kind of identifier
    it is (whether CVE, WSA, XSA, etc), and then other tools could more
    easily grok each kind of reference.

    Yes, so glsa-check -cl already provides the CVE id's, and yes, given the
    API url or git repo this can be automated, but why not have glsa-check
    do that?  Ie, if I do glsa-check -cd 202211-?? then that additional information can be retrieved and dumped too. It would be helpful if at
    least some of this information could be automatically pulled in and
    displayed without having to build further tooling:

    $ curl https jqservices.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2022-41035

    In particular this is useful:

                {
                  "source": "[email protected]",
                  "type": "Primary",
                  "cvssData": {
                    "version": "3.1",
                    "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H",
                    "attackVector": "NETWORK",
                    "attackComplexity": "HIGH",
                    "privilegesRequired": "NONE",
                    "userInteraction": "REQUIRED",
                    "scope": "CHANGED",
                    "confidentialityImpact": "HIGH",
                    "integrityImpact": "HIGH",
                    "availabilityImpact": "HIGH",
                    "baseScore": 8.3,
                    "baseSeverity": "HIGH"
                  },
                  "exploitabilityScore": 1.6,
                  "impactScore": 6.0
                },

    Even this potentially, which really gives somewhat more information than
    the CVE itself (in this case at least):

            "references": [
              {
                "url": "https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2022-41035",
                "source": "[email protected]",
                "tags": [
                  "Patch",
                  "Vendor Advisory"
                ]
              },
              {
                "url": "https://security.gentoo.org/glsa/202210-16",
                "source": "[email protected]"
              }
            ]

    Obviously the gentoo link doesn't really help, but the former gives good details lower down.

    So perhaps rather than storing reference links one could store:

    <references>
       <cve>CVE-2022-41035</cve> <url>https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2022-41035</url>
    </references>

    Retrieving the CVSS details like above can then at a later stage go into tooling, for now just converting <cve> into "another URL" for display is
    fine, this doesn't step back, but allows for future changes to utilize
    the API calls to retrieve more details from the CVE itself for display
    as part of the dump (which would then obviously always display the
    latest information).

    [1] https://nvd.nist.gov/developers/vulnerabilities
    [2] https://github.com/CVEProject/cvelist

    Kind Regards,
    Jaco

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Stein@21:1/5 to John Helmert III on Thu Nov 10 21:50:01 2022
    On 10/11/2022 03:27, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release
    today, in 2022, making that format almost as old as me.

    IFF we change the format, we should not invent a new standard [1] but
    use existing one like CSAF [2]

    [1] https://imgs.xkcd.com/comics/standards.png
    [2] https://oasis-open.github.io/csaf-documentation/

    --
    Best,
    Jonas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mart Raudsepp@21:1/5 to All on Thu Nov 10 22:00:01 2022
    Ühel kenal päeval, N, 10.11.2022 kell 22:07, kirjutas Jaco Kroon:
    Like glsa-check?
    We currently use that, but it really just says which GLSAs are
    applicable to the system, it doesn't tell me net-misc/asterisk-
    16.0.1:16
    - we've got ways of working from the glsa-check output to that.  Of particular annoyance if a GLSA lists multiple packages, of which you
    have one installed, and one not. Given net-misc/asterisk-16.0.1:16 I
    can
    quite quickly determine that emerge -1av net-misc/asterisk:16 will
    resolve the problem with the lowest possible risk of breakage to
    other
    components on the system, and without having to perform a full
    update.

    emerge -vpO @security

    but to get something like it to only showing which installed asterisk
    SLOT is vulnerable would be some extra coding with portage API I think.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to Mart Raudsepp on Fri Nov 11 01:30:01 2022
    On Thu, Nov 10, 2022 at 10:55:03PM +0200, Mart Raudsepp wrote:
    �hel kenal p�eval, N, 10.11.2022 kell 22:07, kirjutas Jaco Kroon:
    Like glsa-check?
    We currently use that, but it really just says which GLSAs are
    applicable to the system, it doesn't tell me net-misc/asterisk-
    16.0.1:16
    - we've got ways of working from the glsa-check output to that.� Of particular annoyance if a GLSA lists multiple packages, of which you
    have one installed, and one not. Given net-misc/asterisk-16.0.1:16 I
    can
    quite quickly determine that emerge -1av net-misc/asterisk:16 will
    resolve the problem with the lowest possible risk of breakage to
    other
    components on the system, and without having to perform a full
    update.

    emerge -vpO @security

    but to get something like it to only showing which installed asterisk
    SLOT is vulnerable would be some extra coding with portage API I think.

    Yeah, to implement this, working on glsa-check is already necessary. I'm willing to look into ensuring the @security set works properly as well.

    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQQyG9yfCrmO0LPSdG2gXq2+aa/JtQUCY22VxgAKCRCgXq2+aa/J tYMtAQCa3lTAnW+ckhb8x3GbHYgvd/fZr7qvZ99jaChz+/Xy3gEA4iXCtBeV8Zfj tIfU/UffUWpmvWqpZbyPBR8gRvipZAU=
    =i424
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to Jonas Stein on Fri Nov 11 01:30:01 2022
    On Thu, Nov 10, 2022 at 09:49:27PM +0100, Jonas Stein wrote:
    On 10/11/2022 03:27, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release today, in 2022, making that format almost as old as me.

    IFF we change the format, we should not invent a new standard [1] but
    use existing one like CSAF [2]

    [1] https://imgs.xkcd.com/comics/standards.png
    [2] https://oasis-open.github.io/csaf-documentation/

    We're not inventing a new "standard", we're upgrading the format we use
    to distribute GLSAs.

    Besides, what would this actually mean for us? Are you volunteering to
    help implement a transition?

    --
    Best,
    Jonas



    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQQyG9yfCrmO0LPSdG2gXq2+aa/JtQUCY22W8AAKCRCgXq2+aa/J tZGyAP9IZ0LtkAx54IVoYnuIBU5xSwikznNi6H4dpZCkFZDxswEAshmG5E7HzvQe qom3eR/giSvJMrYoYw3lXdVqOuH6FAM=
    =2Lzz
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gordon Pettey@21:1/5 to [email protected] on Fri Nov 11 23:10:01 2022
    On Thu, Nov 10, 2022 at 6:27 PM John Helmert III <[email protected]> wrote:

    On Thu, Nov 10, 2022 at 09:49:27PM +0100, Jonas Stein wrote:
    On 10/11/2022 03:27, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release today, in 2022, making that format almost as old as me.

    IFF we change the format, we should not invent a new standard [1] but
    use existing one like CSAF [2]

    [1] https://imgs.xkcd.com/comics/standards.png
    [2] https://oasis-open.github.io/csaf-documentation/

    We're not inventing a new "standard", we're upgrading the format we use
    to distribute GLSAs.


    Standard, format, semantics. You are producing a new schema in a field
    where at least one usable (and already-improved?) schema exists. NIH?

    <div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 10, 2022 at 6:27 PM John Helmert III &lt;<a href="mailto:[email protected]">[email protected]</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px
    0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>On Thu, Nov 10, 2022 at 09:49:27PM +0100, Jonas Stein wrote:<br>
    &gt; On 10/11/2022 03:27, John Helmert III wrote:<br>
    &gt; &gt; The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of<br> &gt; &gt; October 2003. It used roughly the same format of the GLSAs we release<br>
    &gt; &gt; today, in 2022, making that format almost as old as me.<br>
    &gt; <br>
    &gt; IFF we change the format, we should not invent a new standard [1] but <br> &gt; use existing one like CSAF [2]<br>
    &gt; <br>
    &gt; [1] <a href="https://imgs.xkcd.com/comics/standards.png" rel="noreferrer" target="_blank">https://imgs.xkcd.com/comics/standards.png</a><br>
    &gt; [2] <a href="https://oasis-open.github.io/csaf-documentation/" rel="noreferrer" target="_blank">https://oasis-open.github.io/csaf-documentation/</a><br>

    We&#39;re not inventing a new &quot;standard&quot;, we&#39;re upgrading the format we use<br>
    to distribute GLSAs.</div></blockquote><div><br>Standard, format, semantics. You are producing a new schema in a field where at least one usable (and already-improved?) schema exists. NIH?<br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Fri Nov 11 23:50:01 2022
    On 11 Nov 2022, at 22:40, Sam James <[email protected]> wrote:



    On 11 Nov 2022, at 22:06, Gordon Pettey <[email protected]> wrote:

    On Thu, Nov 10, 2022 at 6:27 PM John Helmert III <[email protected]> wrote:
    On Thu, Nov 10, 2022 at 09:49:27PM +0100, Jonas Stein wrote:
    On 10/11/2022 03:27, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release
    today, in 2022, making that format almost as old as me.

    IFF we change the format, we should not invent a new standard [1] but
    use existing one like CSAF [2]

    [1] https://imgs.xkcd.com/comics/standards.png
    [2] https://oasis-open.github.io/csaf-documentation/

    We're not inventing a new "standard", we're upgrading the format we use
    to distribute GLSAs.

    Standard, format, semantics. You are producing a new schema in a field where at least one usable (and already-improved?) schema exists. NIH?

    Can you point to a format which would support using our ebuild operators
    & syntax rather than making a (very) vague suggestion?

    See also ajak's point about being the one to implement it, in lieu
    of volunteers.

    Oh I see, I'd missed the actual link to CSAF, sorry.

    I'll take a look. It's not clear to me yet if this is going to be a good
    fit for distributions though, as we're not a normal "vendor".

    Are you aware of any other Linux distros using this?

    -----BEGIN PGP SIGNATURE-----

    iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY27P918UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R kCTJAP9EFzYCgtPgR5FkD8qK35gW7E7/pnHpq81hVinaq6gImwD+NluKjvm2fK9t 5f8vowovREqeMIuiKPfmJ7UN9Ksp0QA=
    =uNck
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Sat Nov 12 01:10:01 2022
    On 12 Nov 2022, at 00:04, Gordon Pettey <[email protected]> wrote:

    On Fri, Nov 11, 2022 at 4:43 PM Sam James <[email protected]> wrote:

    Oh I see, I'd missed the actual link to CSAF, sorry.

    I'll take a look. It's not clear to me yet if this is going to be a good
    fit for distributions though, as we're not a normal "vendor".

    Are you aware of any other Linux distros using this?

    Red Hat has it in "beta": https://access.redhat.com/security/data, and has had the prior OASIS format (CVRF) for a time, which they (Red Hat) will be deprecating in 2023-01. There is also VEX, which is (I think, didn't read the detailed spec) a subset
    of CSAF.

    Thanks, that's rather helpful. We'll look into this.

    -----BEGIN PGP SIGNATURE-----

    iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY27jf18UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R kOkuAQCQP1pYFrSviwnbQ4g0rg/p9JVzcU5iXfVF+WIj1vzyVwEAikQBzYS4qIeH SI1/SyKKknxd9hDcwpwryRHDKy5TnAs=
    =TTkt
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Stein@21:1/5 to All on Sat Nov 12 01:10:01 2022
    [2] https://oasis-open.github.io/csaf-documentation/

    Oh I see, I'd missed the actual link to CSAF, sorry.

    My fault. I should not add xkcd links in future.

    I'll take a look. It's not clear to me yet if this is going to be a good
    fit for distributions though, as we're not a normal "vendor".

    The major idea of CSAF is to use it optionally along with CPE, CVE, security.txt
    These are fully compatible and complete each other.

    We are a "vendor" in this scheme.
    You can find already CVEs assigned to the product with the CPE cpe:2.3:a:gentoo:

    So we are the vendor "gentoo".
    Perhaps gentoo_project would be more intuitive but currently it is "gentoo".

    Are you aware of any other Linux distros using this?

    Langley Rock from Red Hat seems to be part of the editors team.
    So I guess Redhat/Centos are on the way.

    (see https://docs.oasis-open.org/csaf/csaf/v2.0/csaf-v2.0.html)

    Here are some presentations: https://oasis-open.github.io/csaf-documentation/videos.html

    CSAF is exactly what we want with GLSA.
    There are already many tools to parse and pretty print the CSAF documents.

    --
    Best,
    Jonas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gordon Pettey@21:1/5 to [email protected] on Sat Nov 12 01:10:01 2022
    On Fri, Nov 11, 2022 at 4:43 PM Sam James <[email protected]> wrote:


    Oh I see, I'd missed the actual link to CSAF, sorry.

    I'll take a look. It's not clear to me yet if this is going to be a good
    fit for distributions though, as we're not a normal "vendor".

    Are you aware of any other Linux distros using this?


    Red Hat has it in "beta": https://access.redhat.com/security/data, and has
    had the prior OASIS format (CVRF) for a time, which they (Red Hat) will be deprecating in 2023-01. There is also VEX, which is (I think, didn't read
    the detailed spec) a subset of CSAF.

    <div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 11, 2022 at 4:43 PM Sam James &lt;<a href="mailto:[email protected]">[email protected]</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;
    border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br>Oh I see, I&#39;d missed the actual link to CSAF, sorry.<br>

    I&#39;ll take a look. It&#39;s not clear to me yet if this is going to be a good<br>
    fit for distributions though, as we&#39;re not a normal &quot;vendor&quot;.<br>

    Are you aware of any other Linux distros using this?<br></div></blockquote><div><br></div><div>Red Hat has it in &quot;beta&quot;: <a href="https://access.redhat.com/security/data">https://access.redhat.com/security/data</a>, and has had the prior OASIS
    format (CVRF) for a time, which they (Red Hat) will be deprecating in 2023-01. There is also VEX, which is (I think, didn&#39;t read the detailed spec) a subset of CSAF.<br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to Gordon Pettey on Sat Nov 12 06:20:02 2022
    On Fri, 2022-11-11 at 16:06 -0600, Gordon Pettey wrote:
    On Thu, Nov 10, 2022 at 6:27 PM John Helmert III <[email protected]> wrote:

    On Thu, Nov 10, 2022 at 09:49:27PM +0100, Jonas Stein wrote:
    On 10/11/2022 03:27, John Helmert III wrote:
    The first GLSA in glsa.git is GLSA-200310-03, the third GLSA of
    October 2003. It used roughly the same format of the GLSAs we release today, in 2022, making that format almost as old as me.

    IFF we change the format, we should not invent a new standard [1] but
    use existing one like CSAF [2]

    [1] https://imgs.xkcd.com/comics/standards.png
    [2] https://oasis-open.github.io/csaf-documentation/

    We're not inventing a new "standard", we're upgrading the format we use
    to distribute GLSAs.


    Standard, format, semantics. You are producing a new schema in a field
    where at least one usable (and already-improved?) schema exists. NIH?

    GLSA: 2003
    CSAF: 2016

    Sure sounds like OASIS did a NIH there.

    --
    Best regards,
    Michał Górny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Stein@21:1/5 to All on Sat Nov 12 14:20:01 2022
    CSAF is exactly what we want with GLSA.
    There are already many tools to parse and pretty print the CSAF documents.
    Thanks, I'll look into it more. Can you offer to help implement it in Portage?

    Not this year, but I can try to help.
    There are many ready to use tools around csaf already.

    You can also combine it with https://securitytxt.org/

    Here is an example:
    https://www.bsi.bund.de/.well-known/security.txt

    The line
    CSAF: https://cert-bund.de/.well-known/csaf/provider-metadata.json
    tells where to find the csaf data.

    --
    Best,
    Jonas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)