cve/2023/CVE-2023-26145.md

19 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2024-05-25 21:48:12 +02:00
### [CVE-2023-26145](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-26145)
![](https://img.shields.io/static/v1?label=Product&message=pydash&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=0%3C%206.0.0%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Command%20Injection&color=brighgreen)
### Description
2024-06-22 09:37:59 +00:00
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.
2024-05-25 21:48:12 +02:00
### POC
#### Reference
- https://gist.github.com/CalumHutton/45d33e9ea55bf4953b3b31c84703dfca
- https://security.snyk.io/vuln/SNYK-PYTHON-PYDASH-5916518
#### Github
No PoCs found on GitHub currently.