BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- Subject: [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- From: invalid at pizzashack.org (Derek Martin)
- Date: Thu, 22 Jun 2023 15:07:19 -0500
- In-reply-to: <20230621194331.00005d05.Richard.Pieri@gmail.com>
- References: <20230621163508.GJ24375@bladeshadow.org> <CAJFsZ=ozzcstj4NMy5Mzsbuzmxhd6bkFBMwte-QMQm9dYDj9sQ@mail.gmail.com> <20230621232655.jkt5rsxybsofpy7x@randomstring.org> <20230621194331.00005d05.Richard.Pieri@gmail.com>
On Wed, Jun 21, 2023 at 07:43:31PM -0400, Rich Pieri wrote: > On Wed, 21 Jun 2023 19:26:55 -0400 > Dan Ritter <dsr at randomstring.org> wrote: > > > If you're packaging for a particular distro, you know where they > > put it. > > For systems that implement merged /usr you just use /usr/bin/perl. For > systems with optional merged /usr then your post-install scripts will > need to adjust the interpreter line appropriately to match the OS. > > #!/usr/bin/env perl is often used but it is not secure, and I advise > against it. I agree with all of this, but there's some nuance. 1. As I indicated in the other message, if the program is intended to run exclusively in the security context of the user running it, and does not at any point require elevated privileges (which needs to be evaluated carefully), then using /usr/bin/env is PROBABLY fine, particularly if you wrote it and know what it does. BUT: the onus is on the user running the perl script to make sure it has nothing malicious in it that aims to attack the user running it, and/or that their PATH is carefully crafted to avoid this problem. [This mostly means putting safe system paths first before any custom paths, but there may be additional nuance particular to your environment.] Attacking non-root users is somewhat atypical of attacks--most seek to gain privilege escalation rather than target users--but it certainly can be done, and sometimes attacking a user can be a route to gaining more privileges. Caveat emptor. Avoid when you have a workable alternative. 2. Whether or not you have merged, perl may not be installed in either /bin or /usr/bin (it should never really be in /bin anyway). 2a. IMO, it should be safe in your environment to invoke it as /usr/bin/perl regardless of where it is, so if it isn't there, you (or your sysadmin) should probably install a symlink or shell wrapper that invokes the real perl. It's usually easier to just install it in /usr/bin. If you need multiple versions of perl there could be a conflict, but it's at least an option. 2b. If your environment is homogenous and perl is always installed in the same place, regardless of where it is, just put that path in your #! line. If your environment changes, or if you change environments, and you have a bunch of these to deal with, you can generally fix the path of all of them quickly and easily with a shell one-liner, so long as you have them stored all in roughly one place. Be sure to have back-ups, as always! -- Derek D. Martin http://www.pizzashack.org/ GPG Key ID: 0xDFBEAD02 -=-=-=-=- This message is posted from an invalid address. Replying to it will result in undeliverable mail due to spam prevention. Sorry for the inconvenience.
- Follow-Ups:
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- From: richard.pieri at gmail.com (Rich Pieri)
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- References:
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- From: invalid at pizzashack.org (Derek Martin)
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- From: bogstad at pobox.com (Bill Bogstad)
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- From: dsr at randomstring.org (Dan Ritter)
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- From: richard.pieri at gmail.com (Rich Pieri)
- [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- Prev by Date: [Discuss] Debian 12 vs. WSL 1
- Next by Date: [Discuss] Debian 12 vs. WSL 1
- Previous by thread: [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- Next by thread: [Discuss] Program path maintenance and security (was Re: Debian 12 vs. WSL 1)
- Index(es):