public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: Walter Harms <wharms@bfs.de>
Cc: "linux-man@vger.kernel.org" <linux-man@vger.kernel.org>
Subject: Re: AW: Release tarballs and security (xz fallout)
Date: Wed, 10 Apr 2024 22:02:30 +0200	[thread overview]
Message-ID: <ZhbwXNkjEs7_86Qc@debian> (raw)
In-Reply-To: <2e29520d16d94e0ebd0f1b158e7b7715@bfs.de>

[-- Attachment #1: Type: text/plain, Size: 2524 bytes --]

Hi Walter!

It's nice to hear from you again.  :)

On Wed, Apr 10, 2024 at 07:26:06PM +0000, Walter Harms wrote:
> hello, here my opinion ...
> 
> I followed the xz hack and the main problem (in my view) is that the person
> (tried or go) write access to the git archive. In that case it is game over.

Not all of the evil files were under git.  Probably because it would
have been too suspicious.  Some file was injected in the distribution
tarball.  This is what I'd like to preclude by not having tarballs.

> Normaly i run a tar vtzf BEFORE i install a tarball (more to make sure that
> they will produce a directory and do not spill everything in my home). That is
> be no means perfect but it helps a bit.
> 
> For the man-page project i can imagine a 2 tarball solution. One for the pages, and one
> for anything executeable, so i can use an older/trusted version of an installer, but

This could be interesting.  But the repository is probably simpler to
use for everyone.  And you can do partial checkouts with something like:

$ git checkout vX.X -- share/mk/
$ git checkout vY.Y -- man*/

so you could use an old build system with newer pages easily (I didn't
test the above, so it may need some tweaks, but the idea is there).

> again an "evil maintainer"-attack is - as any suply-chain-attack -  hard to notice
> and even harder to prevent.

The thing is that if I don't create a tarball, there's one fewer step in
which an evil maintainer could inject evil stuff.

If downstreams generate their tarballs from the repo, then an evil
maintainer has to commit the scripts into the git repository, which can
be more easily tracked.

If the tarball is generated by the evil maintainer, then it can inject
any evil files without having to do any commit, which would be harder to
detect.  You'd need to check the file list, which isn't short.  In the
source repo, we have

	$ find * -type f | wc -l
	2875

You could ignore the pages, and diff the rest to older versions, but
that's easier to do if you can use git(1).  You can also regenerate the
tarball yourself from the sources, then diffoscope(1) it with mine.  But
at that point, you've already generated a tarball that --if all goes
well-- should be identical to mine, so why would you want the official
one?

We'd also reduce the need for compressed tarballs, so less dependencies
on tools that seem to be dangerous these days.


Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2024-04-10 20:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09 15:29 Release tarballs and security (xz fallout) Alejandro Colomar
2024-04-10 19:26 ` AW: " Walter Harms
2024-04-10 20:02   ` Alejandro Colomar [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZhbwXNkjEs7_86Qc@debian \
    --to=alx@kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=wharms@bfs.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox