CVE-2019-16935: XSS

Published Sep 21, 2019
·
Updated

A reflected cross-site scripting (XSS) vulnerability was found in Python XML-RPC server. The servertitle field is not sufficiently sanitized allowing malicious JavaScript to be injected. Successful exploitation would allow a remote attacker to execute JavaScript code within the context of the affected user.

Other sources

The documentation XML-RPC server in Python through 2.7.16, 3.x through 3.6.9, and 3.7.x through 3.7.4 has XSS via the servertitle field. This occurs in Lib/DocXMLRPCServer.py in Python 2.x, and in Lib/xmlrpc/server.py in Python 3.x. If setservertitle is called with untrusted input, arbitrary JavaScript can be delivered to clients that visit the http URL for this server.

The documentation XML-RPC server in various Python versions has XSS via the servertitle field. This occurs in Lib/DocXMLRPCServer.py in Python 2.x, and in Lib/xmlrpc/server.py in Python 3.x. If setservertitle is called with untrusted input, arbitrary JavaScript can be delivered to clients that visit the http URL for this server.

Upstream bug:

https://bugs.python.org/issue38243

Upstream pull request and commits:

https://github.com/python/cpython/pull/16373

master: https://github.com/python/cpython/commit/e8650a4f8c7fb76f570d4ca9c1fbe44e91c8dfaa 3.6: https://github.com/python/cpython/commit/1698cacfb924d1df452e78d11a4bf81ae7777389 2.7: https://github.com/python/cpython/commit/8eb64155ff26823542ccf0225b3d57b6ae36ea89

Red Hat

Affected Software

26 affected componentsFixes available
redhat/python3<0:3.6.8-17.el7
0:3.6.8-17.el7
redhat/python<0:2.7.5-89.el7
0:2.7.5-89.el7
redhat/python3<0:3.6.8-31.el8
0:3.6.8-31.el8
redhat/rh-python36-python<0:3.6.12-1.el6
0:3.6.12-1.el6
redhat/rh-python36-python-pip<0:9.0.1-5.el6
0:9.0.1-5.el6
redhat/rh-python36-python-virtualenv<0:15.1.0-3.el6
0:15.1.0-3.el6
redhat/rh-python36-python<0:3.6.12-1.el7
0:3.6.12-1.el7
redhat/rh-python36-python-pip<0:9.0.1-5.el7
0:9.0.1-5.el7
redhat/rh-python36-python-virtualenv<0:15.1.0-3.el7
0:15.1.0-3.el7
redhat/python<2.7.17
2.7.17
redhat/python<3.5.8
3.5.8
redhat/python<3.6.10
3.6.10
redhat/python<3.7.5
3.7.5
debian/jython<=2.7.2+repack1-3
2.7.3+repack1-1
debian/pypy
7.3.3+dfsg-2
debian/python2.7
2.7.18-8+deb11u1
Python Python>=2.7.0<2.7.17
Python Python>=3.0.0<3.5.8
Python Python>=3.6.0<3.6.10
Python Python>=3.7.0<3.7.5
Debian Debian Linux=9.0
Canonical Ubuntu Linux=12.04
Canonical Ubuntu Linux=14.04
Canonical Ubuntu Linux=16.04
Canonical Ubuntu Linux=18.04
Canonical Ubuntu Linux=19.04

Event History

Sep 21, 2019
CVE Published
12:00 AM
Sep 28, 2019
CVE Published
via MITRE·01:33 AM
Data Sourced
via MITRE·01:33 AM
Description
Feb 20, 2026
Data Sourced
via Ubuntu·11:48 PM
RemedyDescriptionSeverityAffected Software
Data Sourced
via Launchpad·11:49 PM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is CVE-2019-16935?

CVE-2019-16935 is a reflected cross-site scripting (XSS) vulnerability found in the Python XML-RPC server.

2

How does the XSS vulnerability occur in Python XML-RPC server?

The XSS vulnerability occurs in the server_title field of the XML-RPC server in Python through 2.7.16, 3.x through 3.6.9, and 3.7.x through 3.7.4.

3

What is the severity of CVE-2019-16935?

The severity of CVE-2019-16935 is medium with a CVSS score of 6.1.

4

Which versions of Python are affected by CVE-2019-16935?

Python versions 2.7.16, 3.6.9, and 3.7.x through 3.7.4 are affected by CVE-2019-16935.

5

How can I fix CVE-2019-16935?

To fix CVE-2019-16935, update Python to version 2.7.17, 3.5.8, 3.6.10, or 3.7.5 depending on the affected version.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203