Hacktron CLI AI-assisted audit of JDBC drivers finds file read/write and RCE chain in Databricks, file read in Exasol; $85K in bounties
Researcher Harsh Jaiswal of Hacktron describes using the AI-assisted Hacktron CLI with a custom "JDBC driver pack" to audit decompiled JDBC drivers during a bug bounty event. The audit surfaced multiple vulnerabilities across vendor drivers, earning $85,000 in bounties. The headline finding is in the Databricks JDBC driver, where an attacker-supplied connection-string property lets the client be abused for arbitrary file read/write, which was chained into RCE on the target platform. An arbitrary file read was also found in the Exasol driver, and other drivers were reported vulnerable to full-response SSRF and RCE. The post is partly promotional for Hacktron CLI.
Technical Details
- Databricks JDBC driver: the
StagingAllowedLocalPathsconnection-string property is meant to restrict local file staging to approved directories, but the allowlist is supplied by the user in the connection string, so the restriction is ineffective. Through Databricks Volumes,PUT localfile_path INTO volume_path OVERWRITEallows arbitrary local file upload, and the reverse direction allows download into an attacker-controlled local path, giving file read and write primitives on the client system. - Because the local user running the driver had limited write permissions, the researcher chained this with a platform feature that clones Git repositories. Overwriting the cloned repository's
.git/configwith a controlledsshCommandand an SSH remote URL caused command execution when a Git operation (creating a branch) was triggered, turning the primitives into RCE. - Databricks responded by adding documentation warning that letting users control
StagingAllowedLocalPathscan lead to security issues. - Exasol driver: arbitrary file read, limited because file content with certain characters causes an exception. The researcher used it to read the application's secret file containing secrets.
- Other drivers were found vulnerable to full-response SSRF and RCE. The Teradata driver was vulnerable to command injection, already disclosed by other researchers.
- No CVE identifiers are given in the article.
Remediation
- Do not let untrusted users control JDBC connection strings or driver properties, especially
StagingAllowedLocalPathsin the Databricks driver. - Review platforms that accept user-supplied JDBC connection parameters for file, SSRF and command-execution exposure, and restrict write permissions of the account running the driver.
- Follow vendor guidance, including the Databricks documentation update.
Linha do tempo
-
Hacktron CLI AI-assisted audit of JDBC drivers finds file read/write and RCE chain in Databricks, file read in Exasol; $85K in bounties
ler a análise desta fonte ocultar
Researcher Harsh Jaiswal of Hacktron describes using the AI-assisted Hacktron CLI with a custom "JDBC driver pack" to audit decompiled JDBC drivers during a bug bounty event. The audit surfaced multiple vulnerabilities across vendor drivers, earning $85,000 in bounties. The headline finding is in the Databricks JDBC driver, where an attacker-supplied connection-string property lets the client be abused for arbitrary file read/write, which was chained into RCE on the target platform. An arbitrary file read was also found in the Exasol driver, and other drivers were reported vulnerable to full-response SSRF and RCE. The post is partly promotional for Hacktron CLI.
Technical Details
- Databricks JDBC driver: the
StagingAllowedLocalPathsconnection-string property is meant to restrict local file staging to approved directories, but the allowlist is supplied by the user in the connection string, so the restriction is ineffective. Through Databricks Volumes,PUT localfile_path INTO volume_path OVERWRITEallows arbitrary local file upload, and the reverse direction allows download into an attacker-controlled local path, giving file read and write primitives on the client system. - Because the local user running the driver had limited write permissions, the researcher chained this with a platform feature that clones Git repositories. Overwriting the cloned repository's
.git/configwith a controlledsshCommandand an SSH remote URL caused command execution when a Git operation (creating a branch) was triggered, turning the primitives into RCE. - Databricks responded by adding documentation warning that letting users control
StagingAllowedLocalPathscan lead to security issues. - Exasol driver: arbitrary file read, limited because file content with certain characters causes an exception. The researcher used it to read the application's secret file containing secrets.
- Other drivers were found vulnerable to full-response SSRF and RCE. The Teradata driver was vulnerable to command injection, already disclosed by other researchers.
- No CVE identifiers are given in the article.
Remediation
- Do not let untrusted users control JDBC connection strings or driver properties, especially
StagingAllowedLocalPathsin the Databricks driver. - Review platforms that accept user-supplied JDBC connection parameters for file, SSRF and command-execution exposure, and restrict write permissions of the account running the driver.
- Follow vendor guidance, including the Databricks documentation update.
- Databricks JDBC driver: the