Your message dated Thu, 13 May 2021 07:26:59 +0000
with message-id <[email protected]>
and subject line unblock python-pip
has caused the Debian Bug report #988418,
regarding unblock: python-pip/20.3.4-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
988418: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988418
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock

Please unblock package python-pip

[ Reason ]
Pick up the security fix from #988399.

Apply another security update to pip itself. This has no CVE (yet?).

Also included: Minor improvements to autopkgtests, making them more
rugged and the result logs more readable.

[ Impact ]
A known security issue.

[ Tests ]
The package has basic autopkgtest coverage that ensures pip broadly
functions.

The affected code isn't covered by tests, but has been part of 2
upstream releases, without needing to be touched again.

[ Risks ]
pip is virtually a leaf package.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock python-pip/20.3.4-2
diff -Nru python-pip-20.3.4/debian/changelog python-pip-20.3.4/debian/changelog
--- python-pip-20.3.4/debian/changelog  2021-03-01 17:03:20.000000000 -0400
+++ python-pip-20.3.4/debian/changelog  2021-05-12 08:39:26.000000000 -0400
@@ -1,3 +1,14 @@
+python-pip (20.3.4-2) unstable; urgency=medium
+
+  * Add myself to uploaders.
+  * Mark autopkgtests that use PyPI as needs-internet.
+  * Mark autopkgtests that use PyPI as allow-stderr. Retried http requests,
+    common in Ubuntu CI, will result in logging to stderr. set -e to catch
+    real errors.
+  * Security: Don't split git references on unicode separators.
+
+ -- Stefano Rivera <[email protected]>  Wed, 12 May 2021 08:39:26 -0400
+
 python-pip (20.3.4-1) unstable; urgency=medium
 
   [ Stefano Rivera ]
diff -Nru python-pip-20.3.4/debian/control python-pip-20.3.4/debian/control
--- python-pip-20.3.4/debian/control    2021-03-01 17:03:20.000000000 -0400
+++ python-pip-20.3.4/debian/control    2021-05-12 08:39:26.000000000 -0400
@@ -4,6 +4,7 @@
 Maintainer: Debian Python Team <[email protected]>
 Uploaders: Carl Chenet <[email protected]>,
            Scott Kitterman <[email protected]>,
+           Stefano Rivera <[email protected]>
 Homepage: https://pip.pypa.io/en/stable/
 Build-Depends: debhelper-compat (= 11),
                dh-python,
diff -Nru python-pip-20.3.4/debian/patches/git-split-ascii.patch 
python-pip-20.3.4/debian/patches/git-split-ascii.patch
--- python-pip-20.3.4/debian/patches/git-split-ascii.patch      1969-12-31 
20:00:00.000000000 -0400
+++ python-pip-20.3.4/debian/patches/git-split-ascii.patch      2021-05-12 
08:39:26.000000000 -0400
@@ -0,0 +1,40 @@
+From: Pradyun Gedam <[email protected]>
+Date: Tue, 11 May 2021 20:04:10 -0400
+Subject: Security: Don't split git references on unicode separators
+
+Previously, maliciously formatted tags could be used to hijack a
+commit-based pin. Using the fact that the split here allowed for
+all of unicode's whitespace characters as separators -- which git allows
+as a part of a tag name -- it is possible to force a different revision
+to be installed; if an attacker gains access to the repository.
+
+This change stops splitting the string on unicode characters, by forcing
+the splits to happen on newlines and ASCII spaces.
+
+Origin: upstream, https://github.com/pypa/pip/pull/9827
+---
+ src/pip/_internal/vcs/git.py | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/pip/_internal/vcs/git.py b/src/pip/_internal/vcs/git.py
+index 565961a..4423a91 100644
+--- a/src/pip/_internal/vcs/git.py
++++ b/src/pip/_internal/vcs/git.py
+@@ -149,9 +149,15 @@ class Git(VersionControl):
+             on_returncode='ignore',
+         )
+         refs = {}
+-        for line in output.strip().splitlines():
++        # NOTE: We do not use splitlines here since that would split on other
++        #       unicode separators, which can be maliciously used to install a
++        #       different revision.
++        for line in output.strip().split("\n"):
++            line = line.rstrip("\r")
++            if not line:
++                continue
+             try:
+-                sha, ref = line.split()
++                sha, ref = line.split(" ", maxsplit=2)
+             except ValueError:
+                 # Include the offending line to simplify troubleshooting if
+                 # this error ever occurs.
diff -Nru python-pip-20.3.4/debian/patches/series 
python-pip-20.3.4/debian/patches/series
--- python-pip-20.3.4/debian/patches/series     2021-03-01 17:03:20.000000000 
-0400
+++ python-pip-20.3.4/debian/patches/series     2021-05-12 08:39:26.000000000 
-0400
@@ -9,3 +9,4 @@
 debian-python2.7-sysconfig-workaround.patch
 debug-command-for-unbundled.patch
 str-version.patch
+git-split-ascii.patch
diff -Nru python-pip-20.3.4/debian/tests/control 
python-pip-20.3.4/debian/tests/control
--- python-pip-20.3.4/debian/tests/control      2021-03-01 17:03:20.000000000 
-0400
+++ python-pip-20.3.4/debian/tests/control      2021-05-12 08:39:26.000000000 
-0400
@@ -1,8 +1,8 @@
 Tests: pip3-root.sh
-Restrictions: breaks-testbed, needs-root
+Restrictions: allow-stderr, breaks-testbed, needs-internet, needs-root
 
 Tests: pip3-user.sh
-Restrictions: breaks-testbed
+Restrictions: allow-stderr, breaks-testbed, needs-internet
 
 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823358
 Tests: pip3-editable.sh
diff -Nru python-pip-20.3.4/debian/tests/pip3-editable.sh 
python-pip-20.3.4/debian/tests/pip3-editable.sh
--- python-pip-20.3.4/debian/tests/pip3-editable.sh     2021-03-01 
17:03:20.000000000 -0400
+++ python-pip-20.3.4/debian/tests/pip3-editable.sh     2021-05-12 
08:39:26.000000000 -0400
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+set -eu
+
 export HOME=$AUTOPKGTEST_TMP
 export PIP_DISABLE_PIP_VERSION_CHECK=1
 
diff -Nru python-pip-20.3.4/debian/tests/pip3-root.sh 
python-pip-20.3.4/debian/tests/pip3-root.sh
--- python-pip-20.3.4/debian/tests/pip3-root.sh 2021-03-01 17:03:20.000000000 
-0400
+++ python-pip-20.3.4/debian/tests/pip3-root.sh 2021-05-12 08:39:26.000000000 
-0400
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+set -eux
+
 export PIP_DISABLE_PIP_VERSION_CHECK=1
 
 python3 -m pip install world
diff -Nru python-pip-20.3.4/debian/tests/pip3-user.sh 
python-pip-20.3.4/debian/tests/pip3-user.sh
--- python-pip-20.3.4/debian/tests/pip3-user.sh 2021-03-01 17:03:20.000000000 
-0400
+++ python-pip-20.3.4/debian/tests/pip3-user.sh 2021-05-12 08:39:26.000000000 
-0400
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+set -eux
+
 export HOME=$AUTOPKGTEST_TMP
 export PATH=$PATH:$HOME/.local/bin
 export PIP_DISABLE_PIP_VERSION_CHECK=1

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to