Skip to content
OpenAdvisories
High · 7.4 CVE-2023-26145 EUVD-2023-0214GHSA-8mjr-6c96-39w8PYSEC-2023-179

pydash Command Injection vulnerability

Published Sep 28, 2023 · Updated Sep 23, 2024 · Assigned by snyk

Description

This affects versions of the package pydash before 6.0.0. A number of pydash methods such as pydash.objects.invoke() and pydash.collections.invoke_map() accept dotted paths (Deep Path Strings) to target a nested Python object, relative to the original source object. These paths can be used to target internal class attributes and dict items, to retrieve, modify or invoke nested Python objects.

**Note:**

The pydash.objects.invoke() method is vulnerable to Command Injection when the following prerequisites are satisfied:

1) The source object (argument 1) is not a built-in object such as list/dict (otherwise, the __init__.__globals__ path is not accessible)

2) The attacker has control over argument 2 (the path string) and argument 3 (the argument to pass to the invoked method)


The pydash.collections.invoke_map() method is also vulnerable, but is harder to exploit as the attacker does not have direct control over the argument to be passed to the invoked function.

Affected products

VendorProductAffectedFixed
— pydash < 6.0.0 6.0.0

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI pydash < 6.0.0 6.0.0 GHSA-8mjr-6c96-39w8

References