]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-138158: Use the `"data"` tarfile extraction filter in `Tools/ssl/multissltests...
authorTommaso Bona <piergeolo@gmail.com>
Sat, 30 Aug 2025 10:27:32 +0000 (12:27 +0200)
committerGitHub <noreply@github.com>
Sat, 30 Aug 2025 10:27:32 +0000 (12:27 +0200)
The `Tools/ssl/multissltests.py` script may extract a possibly untrusted tarball.
Since the script does not necessarily use Python 3.14 or later (where the `"data"`
filter became the default `tarfile` extraction filter), the user may theoretically
suffer from a path traversal attack.

Although the script should not be used in production and usually relies on downloading
trusted sources, the `"data"` extraction filter is now explicitly used wherever relevant.

Tools/ssl/multissltests.py

index e632adafaaa0a02ee04a1d0785c8d93b820a6907..c0559446982eab1241426f9a5edcc251a11e1773 100755 (executable)
@@ -306,7 +306,7 @@ class AbstractBuilder(object):
                 raise ValueError(member.name, base)
             member.name = member.name[len(base):].lstrip('/')
         log.info("Unpacking files to {}".format(self.build_dir))
-        tf.extractall(self.build_dir, members)
+        tf.extractall(self.build_dir, members, filter='data')
 
     def _build_src(self, config_args=()):
         """Now build openssl"""