On Sat, May 8, 2021 at 4:46 PM Florian Weimer <fwei...@redhat.com> wrote:

> * Ben Cotton:
>
> > Another problem of a hardcoded RPATH is security. When an ELF object
> > contains an RPATH pointed to a directory not managed by the system,
> > where some malicious actor has write permissions to, it's relatively
> > easy to execute arbitrary code.
> >
> > Performance can be also affected, since probing explicitly e.g.
> > /usr/lib64 through RPATH adds extra open/openat system calls to the
> > process startup.
>
> Both issues also apply to RUNPATH, not just RPATH.  It particularly
> impacts s390x due to its many legacy hwcaps subdirectories.
>
> > === Definition of a broken RPATH ===
> > This change will use the
> > [
> https://github.com/rpm-software-management/rpm/blob/master/scripts/check-rpaths-worker
> > rpm script] for checking the broken RPATH's.
> >
> > The categories are:
> >
> > * standard RPATHs (e.g. `/usr/lib` or `/usr/lib64`); such RPATHs are a
> > minor issue but are introducing redundant searchpaths without
> > providing a benefit. They can also cause errors in multilib
> > environments.
> > *  invalid RPATHs; these are RPATHs which are neither absolute nor
> > relative filenames and can therefore be a SECURITY risk
> > *  insecure RPATHs; these are relative RPATHs which are a SECURITY risk
> > *  the special `$ORIGIN` RPATHs are appearing after other RPATHs; this
> > is just a minor issue but usually unwanted
> > *  the RPATH is empty; there is no reason for such RPATHs and they
> > cause unneeded work while loading libraries
> > *  an RPATH references `..` of an absolute path; this will break the
> > functionality when the path before `..` is a symlink
>
> $ORIGIN needs to exempted from the absolute and .. checks as well.
>
>
I would agree here but if that's the case packagers could opt-out. The
other alternative would be to change the rpm script for that specific case.


> I think these rules make sense for RUNPATH, and we should outright ban
> RPATH.
>

I'd agree here as well, however this could be a future fedora change as I
would deem it too disruptive to outright ban RPATH for now.


>
> I think we also should binutils with --enable-new-tags at configure
> time.
>
> Thanks,
> Florian
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 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@lists.fedoraproject.org
> Do not reply to spam on the list, report it:
> https://pagure.io/fedora-infrastructure
>


-- 
Regards,

Charalampos Stratakis
Senior Software Engineer
Python Maintenance Team, Red Hat
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to