Re: Three steps we could take to make supply chain attacks a bit harder

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Mar 30, 2024 at 8:07 AM Kevin Kofler via devel
<devel@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Dominique Martinet wrote:
> > I'm not 100% sure about the theory, but it looks like `autoreconf -fi`
> > looks at the 'serial' in the first line of the script.
> > The one bundled in the xz sources was marked very high:
> > # build-to-host.m4 serial 30
> > But the one in the system (as of f39) is only 'serial 1'.
> >
> > Artificially lowering the serial back to 0 in the file and running
> > `autoreconf -fi` again properly reinstall the one from the system over
> > it, but anything higher will keep it...
> >
> > So if we want to go this route, we should remove the full m4 dir, but
> > unfortunately I've seen quite a few projects that depend on non-standard
> > m4 scripts so we'll need to fix these as we go...
>
> Well, it all depends on whether those m4 scripts are really source code or
> whether they are autoimported from somewhere like gnulib. True source code
> needs to be retained, anything that can be autoimported should be
> autoimported at build time. (And upstreams should stop using imported
> copylibs to begin with, but that is a different story.)
>
> > (At which point I'd suggest it's probably faster to convert it all to
> > meson or another new shiny, and saner, build system, but getting upstreams
> > to agree will be fun)
>
> CMake! :-)
>

Funnily enough, xz can also be built with CMake. :)

I don't know whether the CMake scripts are complete enough to switch
to yet, but we should consider doing it.

> >> (2) We should discourage gnulib as much as possible.
> >> [...]
> >> In the xz case it was a gnulib-derived script which was modified to do
> >> the initial injection (original:
> >> https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=m4/build-to-host.m4;h=f928e9ab403b3633e3d1d974abcf478e65d4b0aa;hb=HEAD).
> >
> > (Honestly I did compare the backdoored script and the real one this
> > morning and I would be hard pressed to say if either is backdoored just
> > looking at either version... Admitedly it was 3AM when I looked at it,
> > but I don't think it's just a late hour problem)
>
> That is exactly the problem with autotools code, almost nobody understands
> what the heck it does, almost everybody just copies and pastes somebody
> else's snippet hoping it does not do bad things. And gnulib is a
> particularly ugly piece of the puzzle.
>
> > Before making each of these safer we should make sshd not link with so
> > many things in the first place.
>
> Indeed. E.g., Arch Linux does not transitively link sshd against liblzma.
> Fedora does because of this innocuous-looking patch:
> https://src.fedoraproject.org/rpms/openssh/blob/rawhide/f/openssh-7.4p1-systemd.patch
> which is what ultimately allowed this to happen. This drags in libsystemd
> for sd_notify, and libsystemd is linked to way too much stuff including
> liblzma. Either we need a split libsdnotify that contains only sd_notify, or
> we should just stop using sd_notify at all. It increases the attack surface
> of daemons a lot just to allow the service to be "Type=notify" rather than
> one of the other available approaches. Arch Linux is also systemd-based
> nowadays, but still does not link OpenSSH against libsystemd.
>

This is related to philosophical differences between Arch and Fedora.

That said, it probably makes sense for sd_notify to be its own library
instead of being part of libsystemd. I'm sure systemd upstream will
consider it now. :)



-- 
真実はいつも一つ!/ Always, there's only one truth!
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux