CVE-2016-1000111 Forced Browsing in Twisted
Remote attackers can redirect outbound HTTP traffic from CGI applications to arbitrary proxies via crafted headers, potentially exposing internal data.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2016-1000111?
CVE-2016-1000111 is a medium-severity server-side request forgery vulnerability in n/a, published on 11 Mar 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Twisted before 16.3.1 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect CGI applications from the presence of untrusted client data in the HTTP_PROXY environment variable, which might allow remote attackers to redirect a CGI application's outbound HTTP traffic to an arbitrary proxy server via a crafted Proxy header in an HTTP request, aka an "httpoxy" issue.
Weakness: CWE-425
Which versions are affected by CVE-2016-1000111?
3 open source packages ship an affected version, including twisted and Twisted. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
twisted PyPI | All versions | 16.3.1 |
twisted PyPI | All versions | 16.3.1 |
Twisted PyPI | All versions | 16.3.1 |
Linux distribution packages (37)
python-twisted-web Red Hat:enterprise_linux:6::client | All versions | 0:8.2.0-5.el6_8 |
python-twisted-web Red Hat:enterprise_linux:6::server | All versions | 0:8.2.0-5.el6_8 |
python-twisted-web Red Hat:enterprise_linux:6::workstation | All versions | 0:8.2.0-5.el6_8 |
python-twisted-web Red Hat:enterprise_linux:7::client | All versions | 0:12.1.0-5.el7_2 |
python-twisted-web Red Hat:enterprise_linux:7::server | All versions | 0:12.1.0-5.el7_2 |
python-twisted-web Red Hat:enterprise_linux:7::workstation | All versions | 0:12.1.0-5.el7_2 |
candlepin Red Hat:satellite:6.1::el6 | All versions | 0:0.9.54.26-1.el6 |
candlepin-selinux Red Hat:satellite:6.1::el6 | All versions | 0:0.9.54.26-1.el6 |
foreman Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-compute Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-debug Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-ec2 Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-gce Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-installer Red Hat:satellite:6.1::el6 | All versions | 1:1.11.0.18-1.el6sat |
foreman-installer-katello Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0.101-1.el6sat |
foreman-libvirt Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-openstack Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-ovirt Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-postgresql Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-rackspace Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
foreman-vmware Red Hat:satellite:6.1::el6 | All versions | 0:1.11.0.86-1.el6sat |
katello Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0-33.el6sat |
katello-capsule Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0-33.el6sat |
katello-common Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0-33.el6sat |
katello-debug Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0-33.el6sat |
katello-installer-base Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0.101-1.el6sat |
katello-service Red Hat:satellite:6.1::el6 | All versions | 0:3.0.0-33.el6sat |
libqpid-dispatch Red Hat:satellite:6.1::el6 | All versions | 0:0.4-27.el6sat |
pulp Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.18-1.el6sat |
pulp-admin-client Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.18-1.el6sat |
pulp-puppet Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.2-1.el6sat |
pulp-puppet-admin-extensions Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.2-1.el6sat |
pulp-puppet-plugins Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.2-1.el6sat |
pulp-puppet-tools Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.2-1.el6sat |
pulp-selinux Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.18-1.el6sat |
pulp-server Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.18-1.el6sat |
python-pulp-agent-lib Red Hat:satellite:6.1::el6 | All versions | 0:2.8.7.18-1.el6sat |
Products include Twisted Twisted.
How do I fix CVE-2016-1000111?
Upgrade twisted to 16.3.1 or later.
Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.
Is CVE-2016-1000111 being exploited?
There is no known exploitation of CVE-2016-1000111 in the wild and no public exploit code.
Other vulnerabilities in n/a
- CVE-2026-42304 Twisted: Denial of Service (DoS) in twisted.names via Crafted DNS Compression Pointer Chains
- CVE-2014-7143 Python Twisted trustRoot is not respected in HTTP client
- CVE-2019-12855 Improper Certificate Validation in Twisted
- CVE-2024-41810 HTML injection in HTTP redirect body
- CVE-2023-46137 twisted.web has disordered HTTP pipeline response
Sources
Also known as DEBIAN-CVE-2016-1000111, GHSA-3gqj-cmxr-p4x2, MGASA-2016-0340, PYSEC-2020-214, RHSA-2016:1978, RHSA-2018:0273 and 4 more.