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.
Metrics
Affected Vendors & Products
References
History
Mon, 23 Sep 2024 19:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
ssvc
|
MITRE
Status: PUBLISHED
Assigner: snyk
Published: 2023-09-28T05:00:01.328Z
Updated: 2024-09-23T19:02:59.017Z
Reserved: 2023-02-20T10:28:48.928Z
Link: CVE-2023-26145
Vulnrichment
Updated: 2024-08-02T11:39:06.569Z
NVD
Status : Modified
Published: 2023-09-28T05:15:45.843
Modified: 2024-11-21T07:50:52.307
Link: CVE-2023-26145
Redhat
No data.