Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Doc/library/shutil.rst
Original file line number Diff line number Diff line change
Expand Up @@ -728,8 +728,8 @@ provided. They rely on the :mod:`zipfile` and :mod:`tarfile` modules.

Never extract archives from untrusted sources without prior inspection.
It is possible that files are created outside of the path specified in
the *extract_dir* argument, e.g. members that have absolute filenames
starting with "/" or filenames with two dots "..".
the *extract_dir* argument, for example, members that have absolute filenames
or filenames with ".." components.

.. versionchanged:: 3.7
Accepts a :term:`path-like object` for *filename* and *extract_dir*.
Expand Down
8 changes: 4 additions & 4 deletions Doc/library/zipfile.rst
Original file line number Diff line number Diff line change
Expand Up @@ -374,9 +374,9 @@ ZipFile objects
.. warning::

Never extract archives from untrusted sources without prior inspection.
It is possible that files are created outside of *path*, e.g. members
that have absolute filenames starting with ``"/"`` or filenames with two
dots ``".."``. This module attempts to prevent that.
It is possible that files are created outside of *path*, for example, members
that have absolute filenames or filenames with ".." components.
This module attempts to prevent that.
See :meth:`extract` note.

.. versionchanged:: 3.6
Expand Down Expand Up @@ -547,7 +547,7 @@ Path objects
The :class:`Path` class does not sanitize filenames within the ZIP archive. Unlike
the :meth:`ZipFile.extract` and :meth:`ZipFile.extractall` methods, it is the
caller's responsibility to validate or sanitize filenames to prevent path traversal
vulnerabilities (e.g., filenames containing ".." or absolute paths). When handling
vulnerabilities (for example, absolute paths or paths with ".." components). When handling
untrusted archives, consider resolving filenames using :func:`os.path.abspath`
and checking against the target directory with :func:`os.path.commonpath`.

Expand Down
Loading