[Python-modules-team] Bug#827445: python3-proselint: Remove `shell=True` as they are a security hazard
Víctor Cuadrado Juan
me at viccuad.me
Thu Jun 16 08:20:09 UTC 2016
Package: python3-proselint
Version: 0.5.3-2
Severity: serious
Tags: security
Justification:
This a migration blocker bug, as this issue is already fixed
in upstream's unreleased master.
As said on Python's subprocess docs,
using shell=True can be a security hazard[1],
as they open the door to shell code injection.
`shell=True` could for example be removed from:
out = subprocess.check_output("proselint --version", shell=True)
subprocess.call("proselint --debug >/dev/null", shell=True)
These other examples are possibly vulnerable to shell code injection:
out = subprocess.check_output("proselint {}".format(fullpath),
shell=True)
subprocess.call("{} {}".format("open", fullpath), shell=True)
subprocess.call("proselint {} >/dev/null".format(filepath), shell=True)
These other examples could maybe use python equivalents instead?:
subprocess.call("find . -name '*.pyc' -delete", shell=True)
subprocess.call("rm -rfv proselint/cache > /dev/null && mkdir -p
{}".format(os.path.join(os.path.expanduser("~"), ".proselint")),
shell=True)
See also upstream's bug tracker [2].
[1]: https://docs.python.org/2/library/subprocess.html#frequently-used-
arguments
[2]: https://github.com/amperser/proselint/issues/395
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.5.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages python3-proselint depends on:
ii python3-click 6.6-1
ii python3-future 0.15.2-2
ii python3-six 1.10.0-3
pn python3:any <none>
python3-proselint recommends no packages.
python3-proselint suggests no packages.
-- no debconf information
More information about the Python-modules-team
mailing list