Anyquery: AppleScript/JXA Code Injection via Unescaped URL in macOS plugins (Brave, Chrome, Edge, Reminders, Safari)
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.
Summary
Anyquery is an SQL query engine built on top of SQLite. Prior to 0.4.5, authenticated users with INSERT or UPDATE access to affected macOS virtual tables can execute operating-system commands because the Chrome plugin and equivalent Brave, Edge, and Safari variants interpolate a SQL-controlled URL into AppleScript or JXA source passed to osascript. In plugins/chrome/tabs.go, tabsTable.Insert() passes the URL through fmt.Sprintf(newTabScript, url), and tabsTable.Update() uses fmt.Sprintf(setURLScript, pk, url). A URL containing quote and newline characters can break out of the intended string or property record and append script statements, resulting in arbitrary command execution with the privileges of the anyquery process on the macOS host. This issue is fixed in version 0.4.5.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| julien040 | anyquery | before 0.4.5 | 0.4.5 | Patch available | CNA |
| anyquery | github.com/julien040/anyquery/plugins/brave | before 0.2.0 | 0.2.0 | Patch available | CNA |
| anyquery | github.com/julien040/anyquery/plugins/chrome | before 0.2.0 | 0.2.0 | Patch available | CNA |
| anyquery | github.com/julien040/anyquery/plugins/edge | before 0.2.0 | 0.2.0 | Patch available | CNA |
| anyquery | github.com/julien040/anyquery/plugins/reminders | before 0.2.0 | 0.2.0 | Patch available | CNA |
| anyquery | github.com/julien040/anyquery/plugins/safari | before 0.2.0 | 0.2.0 | Patch available | CNA |
| — | github.com/julien040/anyquery/plugins/chrome (Go) | before 0.0.0-20240826075852-c651df0b8767 | 0.0.0-20240826075852-c651df0b8767 | Patch available | GHSA-hrj8-hjv8-mgwc |
| — | github.com/julien040/anyquery/plugins/brave (Go) | before 0.0.0-20240826075852-c651df0b8767 | 0.0.0-20240826075852-c651df0b8767 | Patch available | GHSA-hrj8-hjv8-mgwc |
| — | github.com/julien040/anyquery/plugins/edge (Go) | before 0.0.0-20240826075852-c651df0b8767 | 0.0.0-20240826075852-c651df0b8767 | Patch available | GHSA-hrj8-hjv8-mgwc |
| — | github.com/julien040/anyquery/plugins/safari (Go) | before 0.0.0-20240826075852-c651df0b8767 | 0.0.0-20240826075852-c651df0b8767 | Patch available | GHSA-hrj8-hjv8-mgwc |
- anyquery Vendorjulien040 Affected before 0.4.5 Fixed in 0.4.5 Patch available CNA
- github.com/julien040/anyquery/plugins/brave Vendoranyquery Affected before 0.2.0 Fixed in 0.2.0 Patch available CNA
- github.com/julien040/anyquery/plugins/chrome Vendoranyquery Affected before 0.2.0 Fixed in 0.2.0 Patch available CNA
- github.com/julien040/anyquery/plugins/edge Vendoranyquery Affected before 0.2.0 Fixed in 0.2.0 Patch available CNA
- github.com/julien040/anyquery/plugins/reminders Vendoranyquery Affected before 0.2.0 Fixed in 0.2.0 Patch available CNA
- github.com/julien040/anyquery/plugins/safari Vendoranyquery Affected before 0.2.0 Fixed in 0.2.0 Patch available CNA
- github.com/julien040/anyquery/plugins/chrome (Go) Vendor— Affected before 0.0.0-20240826075852-c651df0b8767 Fixed in 0.0.0-20240826075852-c651df0b8767 Patch available GHSA-hrj8-hjv8-mgwc
- github.com/julien040/anyquery/plugins/brave (Go) Vendor— Affected before 0.0.0-20240826075852-c651df0b8767 Fixed in 0.0.0-20240826075852-c651df0b8767 Patch available GHSA-hrj8-hjv8-mgwc
- github.com/julien040/anyquery/plugins/edge (Go) Vendor— Affected before 0.0.0-20240826075852-c651df0b8767 Fixed in 0.0.0-20240826075852-c651df0b8767 Patch available GHSA-hrj8-hjv8-mgwc
- github.com/julien040/anyquery/plugins/safari (Go) Vendor— Affected before 0.0.0-20240826075852-c651df0b8767 Fixed in 0.0.0-20240826075852-c651df0b8767 Patch available GHSA-hrj8-hjv8-mgwc
Remediation
- Fix · CNA anyquery (julien040) Fixed in 0.4.5
- Fix · CNA github.com/julien040/anyquery/plugins/brave (anyquery) Fixed in 0.2.0
- Fix · CNA github.com/julien040/anyquery/plugins/chrome (anyquery) Fixed in 0.2.0
- Fix · CNA github.com/julien040/anyquery/plugins/edge (anyquery) Fixed in 0.2.0
- Fix · CNA github.com/julien040/anyquery/plugins/reminders (anyquery) Fixed in 0.2.0
- Fix · CNA github.com/julien040/anyquery/plugins/safari (anyquery) Fixed in 0.2.0
- Fix · GHSA-hrj8-hjv8-mgwc github.com/julien040/anyquery/plugins/chrome (Go) Fixed in 0.0.0-20240826075852-c651df0b8767 Advisory →
- Fix · GHSA-hrj8-hjv8-mgwc github.com/julien040/anyquery/plugins/brave (Go) Fixed in 0.0.0-20240826075852-c651df0b8767 Advisory →
- Fix · GHSA-hrj8-hjv8-mgwc github.com/julien040/anyquery/plugins/edge (Go) Fixed in 0.0.0-20240826075852-c651df0b8767 Advisory →
- Fix · GHSA-hrj8-hjv8-mgwc github.com/julien040/anyquery/plugins/safari (Go) Fixed in 0.0.0-20240826075852-c651df0b8767 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-47252
- 2026-10-03 Alias added: GHSA-hrj8-hjv8-mgwc
References
More julien040 vulnerabilities
- TI-2026-36832 Path traversal in julien040 anyquery CVSS 3.1CRITICAL 9.1
- TI-2026-39459 Anyquery: Server-Side Request Forgery (SSRF) via Unrestricted SQLite Virtual Table Modules in Server Mode CVSS 3.1HIGH 8.6
- TI-2025-38111 Anyquery Unauthenticated Access Vulnerability Exposes Private Integration Data CVSS 3.1HIGH 7.7
- TI-2026-34836 Anyquery: Path Traversal in `clear_plugin_cache` Allows Arbitrary Directory Deletion CVSS 3.1HIGH 7.3
- TI-2026-39460 Anyquery: Local File Read (LFR) via Unrestricted SQLite Virtual Table Modules in Server Mode CVSS 3.1HIGH 7.5
Sources
- CVE-2026-47252 · CVE Program
- CVE-2026-47252 · NVD
- FIRST EPSS
- GHSA-hrj8-hjv8-mgwc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences