Anyquery: Path Traversal in `clear_plugin_cache` Allows Arbitrary Directory Deletion
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| julien040 | anyquery | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Julien040 | Anyquery |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-j9rx-rppg-6hh4 | Anyquery has Path Traversal through `clear_plugin_cache`, Allowing Arbitrary Directory Deletion |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.441% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Julien040
Julien040 anyquery |
|
| Vendors & Products |
Julien040
Julien040 anyquery |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Anyquery is an SQL query engine built on top of SQLite. Prior to 0.4.5, the clear_plugin_cache(plugin) SQL scalar function in namespace/other_functions.go passes the caller-controlled plugin parameter through path.Join to os.RemoveAll without rejecting traversal segments. A low-privileged bearer-token holder can invoke the function through the /v1/query HTTP endpoint, causing path.Join to resolve .. segments outside $XDG_CACHE_HOME/anyquery/plugins/ and os.RemoveAll to recursively delete any reachable directory writable by the Anyquery server process. This causes permanent data loss and denial of service without disclosing file contents. This issue is fixed in version 0.4.5. | |
| Title | Anyquery: Path Traversal in `clear_plugin_cache` Allows Arbitrary Directory Deletion | |
| Weaknesses | CWE-22 | |
| References |
| |
| Metrics |
cvssV3_1
|