GHSA-428g-f7cq-pgp5MediumCVSS 5.3
Marshmallow has DoS in Schema.load(many)
🔗 CVE IDs covered (1)
📋 Description
Impact
Schema.load(data, many=True) is vulnerable to denial of service attacks. A moderately sized request can consume a disproportionate amount of CPU time.
Patches
4.1.2, 3.26.2
Workarounds
# Fail fast
def load_many(schema, data, **kwargs):
if not isinstance(data, list):
raise ValidationError(['Invalid input type.'])
return [schema.load(item, **kwargs) for item in data]
🎯 Affected products2
- pip/marshmallow:>= 3.0.0rc1, < 3.26.2
- pip/marshmallow:>= 4.0.0, < 4.1.2