Although I doubt I'll ever get into trouble, if GNU parallel is
restrictive then the only thing I'll lose is a run and I'll have a log
to work with.

Warnings are ignored by people.

On Sun, Feb 23, 2025 at 12:27 PM Ole Tange <ta...@gnu.org> wrote:
>
> GNU Parallel has had a (theoretical) security issue a few years back:
> https://lists.gnu.org/archive/html/parallel/2015-04/msg00045.html
>
> Therefore GNU Parallel tries to be conservative to avoid surprising
> results. --unsafe will allow GNU parallel to run in environments and
> on input that are untested and thus may cause surprising results and
> even security issues, where an evil attacker can influence the
> results.
>
> Think attacks similar to Shellshock:
> https://en.wikipedia.org/wiki/Shellshock_(software_bug)
>
> This of course has a negative effect when I restrict e.g. $PWD can
> only contain [-a-z0-9_+,.%@:/= ] and gives the bad experience that you
> now have to use --unsafe to allow $PWD to contain other characters -
> e.g. Japanese. Especially if GNU Parallel *does* the right thing. And
> it is doubly bad because in version X you *must* use --unsafe, whereas
> before version X you *must* not --unsafe.
>
> So I think there is a discussion to be had here:
>
> Should GNU Parallel just accept any input (including environment
> variables) and use those? This may cause surprising results and even
> security issues, because it has not been tested.
>
> Or should GNU Parallel be restrictive and force you to use --unsafe,
> when you are doing something that is not tested. If you are forced to
> use --unsafe all the time for something that is safe, it is time to
> file a bug report and have a discussion how to make your situation
> well tested and safe.
>
> A third option is to issue a warning instead of an error. This way the
> command will run, but you will be made aware that you are doing
> something untested.
>
> Let me hear your thoughts.
>
> /Ole
>

Reply via email to