CVEvulnerability
CVE-2023-26145
8.1 HIGH
Official page ↗
- Status
- Modified
- Published
- 2023-09-28
- Last modified
- 2026-06-17
- Assigner
- [email protected]
- CVSS 3.1 ([email protected])
- 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 ([email protected])
- 8.1 HIGH — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-77, CWE-78, CWE-94
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 configurations
• derrickgilland pydash (< 6.0.0)
Related
References
- https://gist.github.com/CalumHutton/45d33e9ea55bf4953b3b31c84703dfca Exploit, Third Party Advisory
- https://github.com/dgilland/pydash/commit/6ff0831ad285fff937cafd2a853f20cc9ae92021 Patch
- https://security.snyk.io/vuln/SNYK-PYTHON-PYDASH-5916518 Third Party Advisory
- https://gist.github.com/CalumHutton/45d33e9ea55bf4953b3b31c84703dfca Exploit, Third Party Advisory
- https://github.com/dgilland/pydash/commit/6ff0831ad285fff937cafd2a853f20cc9ae92021 Patch
- https://security.snyk.io/vuln/SNYK-PYTHON-PYDASH-5916518 Third Party Advisory