CVE-2026-85737: Velociraptor: Low-priv analyst reads arbitrary server files via ungated sql() VQL plugin
The sql() VQL plugin runs a caller-supplied database driver and connection string with no permission check (vql/parsers/sql/sql.go:93, SQLPlugin.Call). For driver='mysql' or driver='postgres' the handle comes from GetHandleOther (sql.go:39), which passes the connection string straight to Go database/sql sql.Open (sql.go:51) and executes the query (sql.go:159).
The plugin declares FILESYSTEM_READ only as Info().Permissions metadata (sql.go:219). That metadata is never consulted at runtime: metadata.go:19 stores it as a string that only the documentation exporter reads (api/reflect.go:82-110). Every sibling network plugin (http_client, netcat, s3, rsyslog) calls CheckAccess(acls.NETWORK) in its own body; sql() calls nothing.
The built-in analyst role holds ANY_QUERY but not FILESYSTEM_READ or NETWORK (acls/roles.go:222), and reaches this sink through the notebook query API.
Result: a low-priv analyst opens arbitrary outbound TCP connections and, through a rogue MySQL server’s LOAD DATA LOCAL INFILE, reads any file the root-running server can read, including the deployment CA private key.
References
- github.com/Velocidex/velociraptor/commit/d7de958e846d3742a7a3a8538fd463e4f12fc528
- github.com/Velocidex/velociraptor/commit/f25390f8fbd00c888f0b7aaba2c061a51c3f7082
- github.com/Velocidex/velociraptor/pull/4952
- github.com/Velocidex/velociraptor/releases/tag/v0.77.2
- github.com/Velocidex/velociraptor/security/advisories/GHSA-9qq5-422f-33c2
- github.com/advisories/GHSA-9qq5-422f-33c2
- nvd.nist.gov/vuln/detail/CVE-2026-85737
Code Behaviors & Features
Detect and mitigate CVE-2026-85737 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →