import python3x-pip-20.2.4-6.module+el8.5.0+12204+54860423

This commit is contained in:
CentOS Sources 2021-10-05 15:05:48 -04:00 committed by Stepan Oksanichenko
parent c9fcc165c6
commit 3316241aba
3 changed files with 103 additions and 3 deletions

View File

@ -0,0 +1,42 @@
From 6d2dcef3427b96c36ddfebf217f774a2c5ecad38 Mon Sep 17 00:00:00 2001
From: Lumir Balhar <lbalhar@redhat.com>
Date: Wed, 30 Jun 2021 09:27:07 +0200
Subject: [PATCH] CVE-2021-33503
---
src/pip/_vendor/urllib3/util/url.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/pip/_vendor/urllib3/util/url.py b/src/pip/_vendor/urllib3/util/url.py
index 5fe37a7..addaeb7 100644
--- a/src/pip/_vendor/urllib3/util/url.py
+++ b/src/pip/_vendor/urllib3/util/url.py
@@ -63,12 +63,12 @@ IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT + "$")
BRACELESS_IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT[2:-2] + "$")
ZONE_ID_RE = re.compile("(" + ZONE_ID_PAT + r")\]$")
-SUBAUTHORITY_PAT = (u"^(?:(.*)@)?(%s|%s|%s)(?::([0-9]{0,5}))?$") % (
+_HOST_PORT_PAT = ("^(%s|%s|%s)(?::([0-9]{0,5}))?$") % (
REG_NAME_PAT,
IPV4_PAT,
IPV6_ADDRZ_PAT,
)
-SUBAUTHORITY_RE = re.compile(SUBAUTHORITY_PAT, re.UNICODE | re.DOTALL)
+_HOST_PORT_RE = re.compile(_HOST_PORT_PAT, re.UNICODE | re.DOTALL)
UNRESERVED_CHARS = set(
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~"
@@ -374,7 +374,9 @@ def parse_url(url):
scheme = scheme.lower()
if authority:
- auth, host, port = SUBAUTHORITY_RE.match(authority).groups()
+ auth, _, host_port = authority.rpartition("@")
+ auth = auth or None
+ host, port = _HOST_PORT_RE.match(host_port).groups()
if auth and normalize_uri:
auth = _encode_invalid_chars(auth, USERINFO_CHARS)
if port == "":
--
2.31.1

View File

@ -0,0 +1,34 @@
From d135e45152a88b896b1d3e8770d5d59f694c2419 Mon Sep 17 00:00:00 2001
From: Lumir Balhar <lbalhar@redhat.com>
Date: Tue, 8 Jun 2021 10:08:49 +0200
Subject: [PATCH] CVE-2021-3572
---
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 a9c7fb6..b38625e 100644
--- a/src/pip/_internal/vcs/git.py
+++ b/src/pip/_internal/vcs/git.py
@@ -142,9 +142,15 @@ class Git(VersionControl):
pass
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.
--
2.31.1

View File

@ -19,7 +19,7 @@
Name: python3x-%{srcname}
Version: %{base_version}%{?prerel:~%{prerel}}
Release: 3%{?dist}
Release: 6%{?dist}
Summary: A tool for installing and managing Python packages
# We bundle a lot of libraries with pip, which itself is under MIT license.
@ -97,6 +97,16 @@ Patch4: dummy-certifi.patch
# this warning is juts moot. Also, the warning breaks CPython test suite.
Patch5: nowarn-pip._internal.main.patch
# Patch for CVE-2021-3572 - pip incorrectly handled unicode separators in git references
# Upstream PR: https://github.com/pypa/pip/pull/9827
# Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1962856
Patch6: CVE-2021-3572.patch
# CVE-2021-33503 Catastrophic backtracking in URL authority parser
# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1968074
# Upstream fix: https://github.com/urllib3/urllib3/commit/2d4a3fee6de2fa45eb82169361918f759269b4ec
Patch7: CVE-2021-33503.patch
# Downstream only patch
# Users might have local installations of pip from using
# `pip install --user --upgrade pip` on older/newer versions.
@ -210,6 +220,8 @@ Requires: ca-certificates
# Side note: pip bundles pkg_resources from setuptools for internal usage.
Recommends: python%{python3_pkgversion}-setuptools
# Require alternatives version that implements the --keep-foreign flag
Requires(postun): alternatives >= 1.19.1-1
# python39 installs the alternatives master symlink to which we attach a slave
Requires: python%{python3_pkgversion}
Requires(post): python%{python3_pkgversion}
@ -400,9 +412,9 @@ if [ $1 -eq 0 ]; then
grep -c "^/usr/bin/python%{python3_version} - priority [0-9]*"`
if [ $EXISTS -ne 0 ]; then
alternatives --remove-slave python3 %{_bindir}/python%{python3_version} \
alternatives --keep-foreign --remove-slave python3 %{_bindir}/python%{python3_version} \
pip3
alternatives --remove-slave python3 %{_bindir}/python%{python3_version} \
alternatives --keep-foreign --remove-slave python3 %{_bindir}/python%{python3_version} \
pip-3
fi
fi
@ -439,6 +451,18 @@ fi
%{python_wheeldir}/%{python_wheelname}
%changelog
* Thu Aug 05 2021 Tomas Orsava <torsava@redhat.com> - 20.2.4-6
- Adjusted the postun scriptlets to enable upgrading to RHEL 9
- Resolves: rhbz#1933055
* Wed Jun 30 2021 Lumír Balhar <lbalhar@redhat.com> - 20.2.4-5
- Fix for CVE-2021-33503 Catastrophic backtracking in URL authority parser
Resolves: rhbz#1968074
* Tue Jun 08 2021 Lumír Balhar <lbalhar@redhat.com> - 20.2.4-4
- Fix for CVE-2021-3572 - pip incorrectly handled unicode separators in git references
Resolves: rhbz#1962856
* Wed Jan 06 2021 Tomas Orsava <torsava@redhat.com> - 20.2.4-3
- Convert from Fedora to the python39 module in RHEL8
- Resolves: rhbz#1877430