CVE-2023-26145
pydash Command Injection vulnerability
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used 7.4
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
CVE-2023-26145- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N/E:P - Weakness
- CWE-78
- Updated
- 2026-11-02
EUVDEUVD-2023-0214 7.4
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
EUVD-2023-0214- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N/E:P - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-8mjr-6c96-39w8 9.1
pydash Command Injection vulnerability
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
GHSA-8mjr-6c96-39w8- CVSS 4.0
- 9.1 Critical
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-77
- Updated
- 2026-11-02
NVD 7.4
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
CVE-2023-26145- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-78, CWE-77, CWE-94
- Updated
- 2026-11-02
OSV 7.4
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
CVE-2023-26145- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N/E:P - Weakness
- CWE-78
- Updated
- 2026-11-11
OSVGHSA-8mjr-6c96-39w8 9.1
pydash Command Injection vulnerability
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
GHSA-8mjr-6c96-39w8- CVSS 4.0
- 9.1 Critical
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-77
- Updated
- 2026-11-02
OSVPYSEC-2023-179No score
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:
The source object (argument 1) is not a built-in object such as list/dict (otherwise, the init.globals path is not accessible)
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.
- Record
PYSEC-2023-179- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pydashPyPI | before 6.0.0 | 6.0.0 |
pydashPyPI | before 6.0.0, plus listed versions 0.0.01.0.01.1.02.0.02.1.0 Show 45 moreShow less2.2.02.3.02.3.12.3.22.4.02.4.12.4.23.0.13.1.03.2.03.2.13.2.23.3.03.4.03.4.13.4.23.4.33.4.43.4.53.4.63.4.73.4.84.0.04.0.14.0.24.0.34.0.44.1.04.2.04.2.14.3.04.3.14.3.24.3.34.4.04.4.14.5.04.6.04.6.14.7.04.7.14.7.34.7.44.7.54.7.6 | 6.0.0 |
pydashPyPI | before 6.0.0, plus listed versions 0.0.01.0.01.1.02.0.02.1.0 Show 45 moreShow less2.2.02.3.02.3.12.3.22.4.02.4.12.4.23.0.13.1.03.2.03.2.13.2.23.3.03.4.03.4.13.4.23.4.33.4.43.4.53.4.63.4.73.4.84.0.04.0.14.0.24.0.34.0.44.1.04.2.04.2.14.3.04.3.14.3.24.3.34.4.04.4.14.5.04.6.04.6.14.7.04.7.14.7.34.7.44.7.54.7.6 | 6.0.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | OSV | |
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-26145 is a high vulnerability (CVSS 7.4) in Derrickgilland Pydash, published September 28, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.60%, the 89th percentile. Fixed in pydash 6.0.0.
References
security.snyk.io/vuln/SNYK-PYTHON-PYDASH-5916518
gist.github.com/CalumHutton/45d33e9ea55bf4953b3b31c84703dfca
github.com/dgilland/pydash/commit/6ff0831ad285fff937cafd2a853f20cc9ae92021
nvd.nist.gov/vuln/detail/CVE-2023-26145
github.com/pypa/advisory-database/tree/main/vulns/pydash/PYSEC-2023-179.yaml
github.com/advisories/GHSA-8mjr-6c96-39w8
github.com/CVEProject/cvelistV5/tree/main/cves/2023/26xxx/CVE-2023-26145.json
github.com/dgilland/pydash
Left out here: 79 versions. The JSON record has them.