Hi Neil

Thank you for the clarification. I misunderstood you. I think what you
describe is a good way forward.

Best regards

// Ola

On Wed, 29 Sept 2021 at 10:10, Neil Williams <codeh...@debian.org> wrote:

> On Tue, 28 Sep 2021 22:17:58 +0200
> Ola Lundqvist <o...@inguza.com> wrote:
>
> > Hi Neil
> >
> > Good summary.
> >
> > Considering the high amount of <no-dsa> marked CVEs for ccextractor I
> > think the best way forward is to keep the same track. We mark the
> > CVEs as no-dsa if they are marked as no-dsa for later releases. It
> > also follows the debian security team track.
> >
> > If we have issues in gpac that are not investigated further, it is
> > worth the effort to do so. But do not be shy about marking them as
> > no-dsa. That can typically be done easily by looking merely on the
> > description. They should be rather serious to warrant a fix.
> >
> > I'm not sure we should "ignore" the issues. I have been of that
> > opinion in the past but I have learnt that we generally mark them as
> > no-dsa instead, unless there is a strong reason to not fix it.
>
> Just to clarify option C below:
>
> "ignoring" was not meant to infer setting CVEs for ccextractor as
> ignored or fixed in the security tracker lists. In fact, I wasn't
> suggesting that ccextractor gets specifically listed for any existing
> gpac CVEs except those already shown and peculiarly severe new ones.
>
> Option C would mean that we would not do the specific *triage* of
> new or existing gpac CVEs in ccextractor, unless the description /
> commit to gpac for that specific CVE raised concerns that a gpac CLI,
> like ccextractor, could be vulnerable to code injection or other
> concerns beyond a simple command-line client crash. I suspect this will
> rule out nearly all gpac CVEs, certainly all the ones I've looked at so
> far when investigating this issue.
>
> So, for Option C with ccextractor, ignoring would actually mean:
>
> * any new gpac CVE would not typically be checked or listed in
>   ccextractor for bullseye, buster or stretch unless particular
>   concerns are raised.
>
> * any new gpac CVE would also not be listed as fixed in ccextractor for
>   bookworm and sid as that would infer vulnerability in older releases.
>
> * all existing CVEs listed against ccextractor remain <no-dsa> for
>   bullseye, buster and stretch.
>
> * ccextractor in bullseye, buster and stretch remains vulnerable to all
>   the CVEs currently listed in the security tracker and an unknown
>   number of other gpac CVEs & there is no work done for new or existing
>   gpac CVEs to verify or validate that CVE in ccextractor unless the
>   issue appears to be more severe than a CLI crash.
>
> That is diverging from our normal behaviour for embedded code copies,
> putting in a filter on the severity of the CVE before ccextractor is
> considered, hence why I wanted to explain the reasoning.
>
> In this one case, we would not typically be adding a ccextractor item
> to a new gpac CVE, as would happen with other embedded code copies.
> Instead, when checking gpac for a CVE, triage in ccextractor would only
> be considered if the gpac triage marks that CVE as particularly severe
> in gpac, beyond the level of what may cause a CLI using gpac to crash.
>
> This is in line with Moritz' request on #debian-security (note the
> correction of a missing "not" at the end):
>
> 19:27 < jmm_> we should simply copy over all gpac entries to
> ccextractor by default, many of them are not a security issue at all
> for ccextractor (like are the code paths actually reachable and
> anything which crashes a CLI/GUI tool without the potential for code
> injection ism
> 19:27 < jmm_> isn't a security bug to begin with
> 19:28 <jmm_> we can keep the current ones in the tracker, but let's not
> add new entries for future gpac issues unless there's actual impact on
> ccextractor
> 19:38 < carnil> s/should/should not/  I assume
> 19:47 <jmm_> doh, ofc :-)
>
> (Apologies, I meant to include that in the original summary.)
>
> If this is OK, I'll add a note to the ccextractor listing in the
> embedded-copies file with a link to this thread.
> e.g.
>
> NOTE: Only triage CVEs for gpac in ccextractor if the impact on
> NOTE: a gpac CLI is likely to be more severe than a command line crash.
> NOTE: https://lists.debian.org/debian-lts/2021/09/msg00035.html
>
> >
> > Best regards
> >
> > // Ola
> >
> > On Mon, 27 Sept 2021 at 15:04, Neil Williams <codeh...@debian.org>
> > wrote:
> >
> > > Background
> > > ==========
> > >
> > > https://tracker.debian.org/pkg/gpac
> > >  48 security issues in stretch
> > >  14 security issues in sid
> > >  47 security issues in buster
> > >  15 security issues in bullseye
> > >  14 security issues in bookworm
> > >
> > > https://tracker.debian.org/pkg/ccextractor
> > >  23 low-priority security issues in buster
> > >  23 low-priority security issues in bullseye
> > >
> > > ccextractor versions:
> > > oldstable: 0.87+ds1-1
> > > stable: 0.88+ds1-1
> > > testing: 0.93+ds2-1
> > > unstable: 0.93+ds2-1
> > >
> > > #994746 clones #994754 for the versions of ccextractor in buster and
> > > bullseye:
> > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994746
> > > "ccextractor embeds unpatched and vulnerable source code from gpac"
> > >
> > > The bug has been fixed in unstable by repacking the orig.tar.gz as
> > > +ds2 and using the system gpac. This change has migrated into
> > > bookworm.
> > >
> > > Bullseye is fixable using a simple backport of ccextractor
> > > 0.932+ds2-1 to bullseye, using the libgpac10 which is already in
> > > bullseye at version 1.0.1+dfsg1-4+deb11u1. So this would create a
> > > 0.93+ds2-1~bpo11+1 version of ccextractor in bullseye-backports,
> > > with all CVEs handled via the system libgpac10 with a quick change
> > > in the security tracker CVE list.
> > >
> > > There was a version of ccextractor in Stretch (0.86+ds1) but the
> > > specific problem is usage of ccextractor in buster.
> > >
> > > Problems in buster
> > > ==================
> > >
> > > 1. ccextractor only embeds some of the source code from gpac - the
> > > command line gpac code is not embedded and some of the code which
> > > goes into libgpac10 is also not embedded. gpac upstream have
> > > changed the mix of which files go into libgpac10 and which go into
> > > an application at each relevant version: 0.5.2, 0.7.1 and 1.0.1.
> > >
> > > 2. ccextractor prior to 0.9.3 embeds gpac 0.7.2-DEV (the 0.7.1 gpac
> > > git tag and a few small changes). 0.7.1 was packaged for Debian but
> > > never made it into any stable release. Bullseye has a newer system
> > > gpac (same as bookworm & sid), buster and stretch have an older
> > > system gpac (0.5.2 with some changes).
> > >
> > > 3. ccextactor upstream embeds gpac using an AppWizard which
> > > collapses and changes the *path* to the affected source code files,
> > > so patches have to be manually ported from gpac to ccextractor as
> > > well as coping with the different versions of gpac between the
> > > system and the embedded code. e.g. src/isomedia/box_code_base.c
> > > becomes src/gpacmp4/box_code_base .cand src/odf/odf_code.c becomes
> > > src/gpacmp4/odf_code.c
> > >
> > > 4. ccextractor from buster (0.87, embedding gpac 0.7.1) *does not
> > > compile* against the libgpac-dev from either bullseye (1.0.1) or
> > > buster (0.5.2). ccextractor upstream fixed their code to use gpac
> > > 1.0.1 only in 0.9.3.
> > >
> > > 5. Uploading gpac 0.7.1 from snapshots would be disruptive to other
> > > reverse dependencies of gpac and doesn't solve the problem of
> > > porting patches to multiple versions of gpac.
> > >
> > > CVEs in ccextractor
> > > ===================
> > >
> > > A CVE in gpac is not necessarily a CVE in ccextractor - some source
> > > code is simply missing. What source code does exist is mostly
> > > reachable from the ccextractor command line, given a suitable input
> > > file. ccextractor upstream tests use multiple input files, each
> > > typically 3G in size.
> > >
> > > Every new CVE against gpac (and there are a LOT) would need to be
> > > checked twice:
> > >
> > > a) follow the CVE link to the upstream gpac git & locate the
> > > vulnerable file(s)
> > >
> > > b) Correlate those with the same filenames in a different path
> > > within the embedded ccextractor source code (that part could be
> > > scripted)
> > >
> > > c) If present, download the upstream test case & attempt to
> > > reproduce against ccextractor
> > >
> > > d) update the security tracker
> > >
> > > e) manually port the upstream commit to the different paths used in
> > > ccextractor and adjust the patch for changes between upstream 1.0.1
> > > and embedded 0.7.1 (having already done the port of the change from
> > > 1.0.1 to 0.5.2 for the system gpac).
> > >
> > > The security team have said that all CVEs against ccextractor would
> > > be <no-dsa> (Minor issue) unless some kind of code injection also
> > > occurred. So the current list of CVEs in ccextractor are all
> > > <no-dsa> (Minor issue).
> > >
> > > Buster isn't LTS yet and Debian security team are not planning a DSA
> > > for ccextractor in buster, so there is no immediate rush.
> > >
> > > I have reproduced a few ccextractor crashes using upstream test
> > > files linked from gpac CVEs using the version of ccextractor in
> > > buster.
> > >
> > > Possible solutions
> > > ==================
> > >
> > > A: Add a permanent lump of manual work for every CVE reported
> > > against gpac and, once buster is LTS, make uploads for two source
> > > packages at different versions and with patches that cannot be
> > > imported between the two without manual changes.
> > >
> > > B: Downgrade customer functionality in ccextractor for buster and
> > > stretch to the system gpac and therefore reduce the workload by
> > > half. As noted above, ccextractor does not, yet, compile using that
> > > version of system gpac.
> > >
> > > C: ignore all newly reported CVEs for ccextractor in buster, only
> > > handle gpac and leave ccextractor vulnerable to (i.e. seg fault) at
> > > least some of the known and new CVEs in gpac.
> > >
> > > So far, opinion (Sebastien, Raphael & I) is all for option C: -
> > > leave ccextractor unchanged in buster.
> > >
> > > Have I missed another solution? Does anyone object to adopting
> > > solution C:?
> > >
> > >
> > > --
> > > Neil Williams
> > > =============
> > > https://linux.codehelp.co.uk/
> > >
> >
> >
> > --
> >  --- Inguza Technology AB --- MSc in Information Technology ----
> > |  o...@inguza.com                    o...@debian.org            |
> > |  http://inguza.com/                Mobile: +46 (0)70-332 1551 |
> >  ---------------------------------------------------------------
>
>
> --
> Neil Williams
> =============
> https://linux.codehelp.co.uk/
>


-- 
 --- Inguza Technology AB --- MSc in Information Technology ----
|  o...@inguza.com                    o...@debian.org            |
|  http://inguza.com/                Mobile: +46 (0)70-332 1551 |
 ---------------------------------------------------------------

Reply via email to