Hi Michael,

On Fri, 2020-06-12 at 08:21 -0500, Michael Shuler wrote:
> 
> On 6/12/20 7:36 AM, Adrian Bunk wrote:
> > On Fri, Jun 12, 2020 at 08:40:29AM +0100, Adam D. Barratt wrote:
[...]
> > > > Wouldn't embedded setups be more likely to have a hard-coded
> > > configuration?
> > 
> > The official way to hardcode CA configuration would be through
> > debconf or /etc/ca-certificates.conf, which runs into #743339.
> > 
> > If you are really security-focussed you might pin the actual
> > certificate instead of trusing a CA.

Sadly that doesn't seem to work with a lot of tools these days.

> > For the average embedded device the only thing that matters about
> > ca-certificates is something like "https works".
> > 
> > > > Would it work to force-enable them in /etc/ca-certificates.conf
> > > > from the preinst when upgrading from old-version matching
> > > > 20200601* ?
> > 
> > This could actually be done in the postinst before the debconf
> > configuration, something like
> >    sed -i
> > "s|^\!mozilla/GeoTrust_Global_CA.crt|mozilla/GeoTrust_Global_CA.crt
> > |" /etc/ca-certificates.conf
> > for all affected certificates when $2 matches 20200601*
> 
> This is what I was working on last night, there is an old dpkg 
> --compare-versions example in postinst, and that is similar to the 
> action I had in mind. I intend to sed all in the list we
> blacklisted, since they remain in the bundle, so we're not here next
> week with another of the date or intermediate exceptions in NSS. If
> there is objection to this, please let me know.
> 
> > > I'll leave the technical answer to Michael.
> > > 
> > > Practically, it's then not great for users who had intentionally
> > > removed the certificates - or simply decided not to trust them in
> > > the first place - prior to the upgrade. I'm not sure how we could
> > > distinguish the cases automatically.
> > 
> > The default is to trust all new certificates, so this is what the
> > vast majority of users are using.
> > 
> > #743339 is primarily about this kind of remove+readd in the package
> > being the only way how any installed certificate could end up being
> > deactivated in the default situation.
> > 
> > This is permanent damage that can lead to nasty problems months or
> > years later.
> > 
> > There are likely some users somewhere who have manually activated
> > or deactivated these specific certificates, but this is nothing we
> > can handle correctly in both directions now.
> 
> This is exactly the kind of behavior I think we'd like to preserve,
> so we don't stomp on a previous intentional trust setting and
> blindly enable, but I think this specific list of blacklisted certs
> being re-enabled, if specifically 20200601* is installed should work.
> The default "yes" trust and re-enable of these may be the "good
> enough" fix, while #743339 is still an issue. That should hit way
> over 80% use case, if we consider an 80/20 split.
> 
> For what it's worth, with additional testing after this, I believe I
> may have found one of the "save but disable' causes of #743339,
> after staring at ca-certificates.conf creation, upgrades, etc in
> postinst and the debconf ca-certificates.config contents. It won't
> fix existing trust ^!'s, but would help on future root removals -
> later on that bug..
> 
> > > > Unrelated to that, please keep the Python 2 -> 3 build
> > > > dependency
> > > > change out of this emergency update.
> > > 
> > > ACK.
> 
> Will do, thank you both.

How are things looking with the new update?

Regards,

Adam

Reply via email to