CVE-2018-17175 In marshmallow library the schema "only" option treats an empty list as implying no "only" option
An attacker can expose all schema fields instead of none when the 'only' option is dynamically set to an empty list, leading to information disclosure.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2018-17175?
CVE-2018-17175 is a medium-severity vulnerability in n/a, published on 18 Sep 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In the marshmallow library before 2.15.1 and 3.x before 3.0.0b9 for Python, the schema "only" option treats an empty list as implying no "only" option, which allows a request that was intended to expose no fields to instead expose all fields (if the schema is being filtered dynamically using the "only" option, and there is a user role that produces an empty value for "only").
Which versions are affected by CVE-2018-17175?
5 open source packages ship an affected version, including marshmallow. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
marshmallow PyPI | All versions | 2.15.1, 3.0.0b9 |
marshmallow PyPI | All versions | 2.15.1 |
marshmallow PyPI | All versions | 2.15.1 |
marshmallow PyPI | From 3.0a0 | 3.0.0b9 |
marshmallow PyPI | From 3.0a0 | 3.0.0b9 |
Linux distribution packages (2)
python-marshmallow openSUSE:Tumbleweed | All versions | 3.20.2-2.2 |
python-marshmallow openSUSE:Tumbleweed | All versions | 4.3.0-1.2 |
Products include Marshmallow Project Marshmallow.
How do I fix CVE-2018-17175?
Upgrade marshmallow to a fixed version for your release line: 2.15.1 or 3.0.0b9.
Is CVE-2018-17175 being exploited?
There is no known exploitation of CVE-2018-17175 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2018-17175, GHSA-9q2p-fj49-vpxj, MGASA-2019-0065, PYSEC-2018-67, UBUNTU-CVE-2018-17175, openSUSE-SU-2024:11238-1 and 2 more.