Skip to content

Commit

Permalink
gh-81054: Document that SimpleHTTPRequestHandler follows symbolic lin…
Browse files Browse the repository at this point in the history
…ks (GH-94416) (GH-94494)

(cherry picked from commit 80aaeab)

Co-authored-by: Sam Ezeh <sam.z.ezeh@gmail.com>
  • Loading branch information
miss-islington and dignissimus committed Jul 1, 2022
1 parent 66f4593 commit 224cd0c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
13 changes: 12 additions & 1 deletion Doc/library/http.server.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This module defines classes for implementing HTTP servers (Web servers).
.. warning::

:mod:`http.server` is not recommended for production. It only implements
basic security checks.
:ref:`basic security checks <http.server-security>`.

One class, :class:`HTTPServer`, is a :class:`socketserver.TCPServer` subclass.
It creates and listens at the HTTP socket, dispatching the requests to a
Expand Down Expand Up @@ -488,3 +488,14 @@ the following command uses a specific directory::
the ``--cgi`` option::

python -m http.server --cgi

.. _http.server-security:

Security Considerations
-----------------------

.. index:: pair: http.server; security

:class:`SimpleHTTPRequestHandler` will follow symbolic links when handling
requests, this makes it possible for files outside of the specified directory
to be served.
2 changes: 1 addition & 1 deletion Doc/library/security_warnings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The following modules have specific security considerations:
argument disabling known insecure and blocked algorithms
<hashlib-usedforsecurity>`
* :mod:`http.server` is not suitable for production use, only implementing
basic security checks
basic security checks. See the :ref:`security considerations <http.server-security>`.
* :mod:`logging`: :ref:`Logging configuration uses eval()
<logging-eval-security>`
* :mod:`multiprocessing`: :ref:`Connection.recv() uses pickle
Expand Down

0 comments on commit 224cd0c

Please sign in to comment.