Every CVE Search/ Get API key

CVE-2020-28473

Web Cache Poisoning

6.8 MediumFix available

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
High

Exploit likelihood

1.79%Up 0.7 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 6.8

Web Cache Poisoning

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
CVE-2020-28473
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H/E:P/RL:O/RC:C
Updated
2026-11-02
EUVDEUVD-2021-0038 6.8

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
EUVD-2021-0038
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H/E:P/RL:O/RC:C
Updated
2026-11-03
GitHub AdvisoriesGHSA-qhx9-7hx7-cp4r 6.1

bottle HTTP Request smuggling

The package bottle before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
GHSA-qhx9-7hx7-cp4r
CVSS 4.0
6.1 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Weakness
CWE-444
Updated
2026-11-02
NVD 6.8

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
CVE-2020-28473
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
CVSS 2.0
5.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:N
Weakness
CWE-444
Updated
2026-11-02
OSV 6.8

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
CVE-2020-28473
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2020-28473 6.8

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
DEBIAN-CVE-2020-28473
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
Show 9 moreShow less
OSVGHSA-qhx9-7hx7-cp4r 6.1

bottle HTTP Request smuggling

The package bottle before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
GHSA-qhx9-7hx7-cp4r
CVSS 4.0
6.1 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Weakness
CWE-444
Updated
2026-11-02
OSVOESA-2021-1067 6.8

python-bottle security update

Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library.

Security Fix(es):

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.(CVE-2020-28473)

Record
OESA-2021-1067
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2020-28473 6.8

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
UBUNTU-CVE-2020-28473
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Updated
2026-11-02
OSVMGASA-2021-0171 No score

Updated python-bottle packages fix security vulnerability

Updated python-bottle packages fix security vulnerability:

python-bottle before 0.12.19 is vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter (CVE-2020-28473).

Record
MGASA-2021-0171
Updated
2026-11-02
OSVopenSUSE-SU-2021:0302-1 No score

Security update for python-bottle

This update for python-bottle fixes the following issues:

  • CVE-2020-28473: Fixed Web Cache Poisoning vulnerability using parameter cloaking (bsc#1182181).

This update was imported from the SUSE:SLE-15:Update update project.

Record
openSUSE-SU-2021:0302-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13210-1 No score

python-bottle-doc-0.12.25-5.1 on GA media

These are all security issues fixed in the python-bottle-doc-0.12.25-5.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13210-1
Updated
2026-11-02
OSVPYSEC-2021-129 No score

The package bottle from 0 and before 0.12.19 are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

Record
PYSEC-2021-129
Updated
2026-11-02
OSVSUSE-SU-2021:0483-1 No score

Security update for python-bottle

This update for python-bottle fixes the following issues:

  • CVE-2020-28473: Fixed Web Cache Poisoning vulnerability using parameter cloaking (bsc#1182181).
Record
SUSE-SU-2021:0483-1
Updated
2026-11-02
OSVUSN-5105-1 No score

python-bottle vulnerability

It was discovered that Bottle incorrectly handled certain inputs. An attacker could possibly use this issue to cache malicious requests.

Record
USN-5105-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
bottle
PyPI
before 0.12.19
0.12.19
python-bottle
Debian:12
before 0.12.19-1
0.12.19-1
python-bottle
Debian:13
before 0.12.19-1
0.12.19-1
python-bottle
Debian:14
before 0.12.19-1
0.12.19-1
python-bottle
Debian:9
before 0.12.13-1+deb9u1, plus listed versions
0.12.13-1
0.12.13-1+deb9u1
bottle
PyPI
before 0.12.19, plus listed versions
0.10.10.10.100.10.110.10.120.10.2
Show 45 moreShow less
0.10.30.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.110.12.120.12.130.12.140.12.150.12.160.12.170.12.180.12.20.12.30.12.40.12.50.12.60.12.70.12.80.12.90.4.100.4.110.4.120.4.130.4.140.4.30.4.40.4.60.4.70.4.80.4.90.5.30.5.4
0.12.19
python-bottle
Mageia:7
before 0.12.16-1.1.mga7
0.12.16-1.1.mga7
python-bottle
openEuler:20.03-LTS
before 0.12.13-8.oe1
0.12.13-8.oe1
python-bottle
openEuler:20.03-LTS-SP1
before 0.12.13-8.oe1
0.12.13-8.oe1
python-bottle
SUSE:Linux Enterprise Module for Desktop Applications 15 SP2
before 0.12.13-3.3.1
0.12.13-3.3.1
Show 7 moreShow less
Affected packages
PackageAffectedFixed
python-bottle
SUSE:Linux Enterprise Module for Python 2 15 SP2
before 0.12.13-3.3.1
0.12.13-3.3.1
python-bottle
Ubuntu:Pro:14.04:LTS
before 0.12.0-1ubuntu0.1~esm2, plus listed versions
0.11.6-10.12.0-10.12.0-1ubuntu0.1~esm1
0.12.0-1ubuntu0.1~esm2
python-bottle
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
0.12.7-10.12.7-1+deb8u1build0.16.04.10.12.7-1+deb8u1ubuntu0.1~esm1
None known
python-bottle
Ubuntu:18.04:LTS
before 0.12.13-1ubuntu0.1, plus listed versions
0.12.13-1
0.12.13-1ubuntu0.1
python-bottle
Ubuntu:20.04:LTS
before 0.12.15-2.1ubuntu0.1, plus listed versions
0.12.15-20.12.15-2build10.12.15-2.1
0.12.15-2.1ubuntu0.1
python-bottle
Ubuntu:22.04:LTS
All versions, plus listed versions
0.12.19-10.12.19-1+deb11u1build0.22.04.1
None known
python-bottle
openSUSE:Leap 15.2
before 0.12.13-lp152.4.3.1
0.12.13-lp152.4.3.1

History

History
RecordedChangedSources
facts
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-28473 is a medium vulnerability (CVSS 6.8) in Bottlepy Bottle, published January 18, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.79%, the 78th percentile. Fixed in bottle 0.12.19.

References

Show 15 moreShow less
This page doesn't list everything

Left out here: 23 versions. The JSON record has them.

MoveEnter Open