Re: Cryptographic signatures of installer sets

Glen Barber <[email protected]>
Newsgroups gmane.os.freebsd.security.general
Message-ID <[email protected]>
Hi Nathan,

On Thu, Jan 30, 2020 at 12:50:06AM +0000, Nathan Dorfman wrote:
> On Mon, Jan 27, 2020 at 04:42:01PM +0000, Glen Barber wrote:
> > No, this last part is not true.  The installer always verifies the
> > checksums against /usr/freebsd-dist/MANIFEST on the installation medium.
> > 
> > In particular, this was done in r293223, where the LOCAL_DISTRIBUTIONS
> > variable explicitly contains the MANIFEST.
> 
> Thank you, Glen. You're correct of course; the installer uses its
> embedded MANIFEST and doesn't even fetch it from the mirror... during
> system installation, at least.
> 
> However, the first time a jail is set up, using the `bsdinstall jail`
> command, it does in fact fetch and trust the mirror's MANIFEST. I just
> tested this with a freshly installed 12.1-RELEASE system and a local
> mirror with a modified base.txz and manifest. It installs the modified
> files into the new jail without any complaint.
> 
> Simply, after a clean installation /usr/freebsd-dist doesn't exist on
> the new system, so the jail script creates it and downloads the MANIFEST
> from the mirror. See lines 60-70, here:
> 
> https://svnweb.freebsd.org/base/release/12.1.0/usr.sbin/bsdinstall/scripts/jail?view=markup#l60
> 
> After the first jail, this downloaded manifest and package(s) are saved
> in /usr/freebsd-dist. So you are only at risk the first time, and there
> will be some evidence of the tampering. Still, I hope you'll agree that
> this should be fixed. The installer already has a trusted manifest as
> you point out, why not simply install that one into the target system's
> /usr/freebsd-dist at setup time?
> 

I honestly wasn't aware there was a jail subcommand to bsdinstall.
I think, rather than creating /usr/freebsd-dist on the host system, we
should instead check if the misc/freebsd-release-manifests package is
installed and bail if it does not.  This package contains the MANIFEST
files from past releases (and in-progress releases, including BETA and
RC builds).

Does that seem like a reasonable solution?

Glen
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAl4y2JoACgkQAxRYpUeP
4pNgIw/+L0cnf3PJEak7dm8nXqp8F8em/cNDnTCSoXGqHP14esvjn3w45pOsw0f8
bgBEKauvzRGZ/rurUINUEHtkjCml4VGkXHybbD+Qihg/ZQbyzaioQFAIjGaiO7Sn
++AQjvjsdiecR6cbsRhH7PqqlfvGlAtwWTN9afjuSZzUzy5rFT5rL7+/RKPVN8+w
ugVyL4KwzkdJIABqw+F5pF+K96c42GPTOnMeTtveLkHH+h1tK+6zaVn/8P2XvBUB
X9ejv3CbvsyUU84c2+eBsy7xD96Yyv5oFhnPPwtZ19mBu65CbH5jgtz4Owl6KBHK
L//2JFw93SZQ768BK+Bm0lToaKsk0DP9OWQz9k54TeOL6DN1ZQ/PzJoxx5Mi3XQR
B8+pS8//9ex6RTSX8GrMyl05S+0rfLNODM/Zu1k8D8dai0J3V2hVS4r3brn0g/ZF
Uwjx4oDcI9ez15Ft/e4tFHu3Omw8gKtjmTtbBWNC4g/qg0MVC2vnx7DWE1BCf5iF
fZ+Svt1XENIxDuBDFn0aLzNXNg3lwuGP6KIhbbtKxDNTAdxnvrkCvEzctkOcYStc
wWfmzH4ReXSBZmibZ37pmLMJIPw6IGo72asE9cYDHV2VIHoakc8Du01+vUZ1josk
mWGAxHSAHRqc0Yu98gxZqMPIkSdqUpbSRDkc0b2U5i5aY1FSFdY=
=5WnG
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.