CVE-2016-9964
bottle.py vulnerable to CRLF Injection
CVE-2016-9964 is a medium vulnerability (CVSS 6.5) in Bottlepy Bottle, published December 16, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.76%, the 78th percentile. Fixed in bottle 0.12.11.
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
6.5
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
CVE-2016-9964- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:P/A:N - Weakness
- CWE-93
- Updated
- 2026-11-02
CVE List No score
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
CVE-2016-9964- Updated
- 2026-11-02
EUVDEUVD-2016-0002 No score
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
EUVD-2016-0002- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-j6f7-hghw-g437
7.1
bottle.py vulnerable to CRLF Injection
bottle.py is a fast and simple micro-framework for python web-applications. redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
GHSA-j6f7-hghw-g437- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Weakness
- CWE-93
- Updated
- 2026-11-02
OSV
6.5
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
CVE-2016-9964- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2016-9964
6.5
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
DEBIAN-CVE-2016-9964- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-j6f7-hghw-g437
7.1
bottle.py vulnerable to CRLF Injection
bottle.py is a fast and simple micro-framework for python web-applications. redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
GHSA-j6f7-hghw-g437- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Weakness
- CWE-93
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-9964
6.5
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
UBUNTU-CVE-2016-9964- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVMGASA-2017-0031 No score
Updated python-bottle packages fix security vulnerability
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call. (CVE-2016-9964)
- Record
MGASA-2017-0031- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11220-1 No score
python-bottle-doc-0.12.19-1.8 on GA media
These are all security issues fixed in the python-bottle-doc-0.12.19-1.8 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11220-1- Updated
- 2026-11-02
OSVPYSEC-2016-24 No score
redirect() in bottle.py in bottle 0.12.10 doesn't filter a "\r\n" sequence, which leads to a CRLF attack, as demonstrated by a redirect("233\r\nSet-Cookie: name=salt") call.
- Record
PYSEC-2016-24- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
bottlePyPI |
0.10.1 up to 0.12.11 | 0.12.11 |
python-bottleDebian:12 |
before 0.12.11-1 | 0.12.11-1 |
python-bottleDebian:13 |
before 0.12.11-1 | 0.12.11-1 |
python-bottleDebian:14 |
before 0.12.11-1 | 0.12.11-1 |
python-bottleDebian:7 |
before 0.10.11-1+deb7u2, plus listed versions 0.10.11-10.10.11-1+deb7u1 |
0.10.11-1+deb7u2 |
python-bottleDebian:8 |
before 0.12.7-1+deb8u1, plus listed versions 0.12.7-1 |
0.12.7-1+deb8u1 |
bottlePyPI |
0.10.1 up to 0.12.11, plus listed versions 0.10.100.10.110.10.120.10.20.10.3 Show 23 moreShow less0.10.40.10.50.10.60.10.70.10.80.10.90.11.10.11.20.11.30.11.40.11.50.11.60.11.70.12.10.12.100.12.20.12.30.12.40.12.50.12.60.12.70.12.80.12.9 |
0.12.11 |
python-bottleMageia:5 |
before 0.12.11-1.mga5 | 0.12.11-1.mga5 |
python-bottleUbuntu:Pro:14.04:LTS |
before 0.12.0-1ubuntu0.1~esm1, plus listed versions 0.11.6-10.12.0-1 |
0.12.0-1ubuntu0.1~esm1 |
python-bottleUbuntu:16.04:LTS |
before 0.12.7-1+deb8u1build0.16.04.1, plus listed versions 0.12.7-1 |
0.12.7-1+deb8u1build0.16.04.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
github.com/bottlepy/bottle/issues/913
github.com/bottlepy/bottle/commit/6d7e13da0f998820800ecb3fe9ccee4189aefb54
debian.org/security/2016/dsa-3743
securityfocus.com/bid/94961
nvd.nist.gov/vuln/detail/CVE-2016-9964
github.com/advisories/GHSA-j6f7-hghw-g437
Show 11 moreShow less
github.com/pypa/advisory-database/tree/main/vulns/bottle/PYSEC-2016-24.yaml
github.com/bottlepy/bottle/commit/78f67d51965db11cb1ed0003f1eb7926458b5c2c
web.archive.org/web/20170214030628/http://www.securityfocus.com/bid/94961
security-tracker.debian.org/tracker/CVE-2016-9964
github.com/bottlepy/bottle
advisories.mageia.org/MGASA-2017-0031.html
bugs.mageia.org/show_bug.cgi?id=20004
lwn.net/Vulnerabilities/709842
ubuntu.com/security/CVE-2016-9964
cve.org/CVERecord?id=CVE-2016-9964
suse.com/security/cve/CVE-2016-9964