GitHub Advisoryadvisory · Packagist
GHSA-j8g6-5gqc-mq36 Neuron MySQLSelectTool “read-only” bypass via `SELECT ... INTO OUTFILE` (file write → potential RCE)
HIGH
Official page ↗
- Aliases
- CVE-2025-67509
- Ecosystem
- Packagist
- Packages
- neuron-core/neuron-ai
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
- Weaknesses
- CWE-94
- Reviewed
- 2025-12-09
Affected packages
• Packagist neuron-core/neuron-ai: < 2.8.12 → fixed in 2.8.12
Description
Impact
`MySQLSelectTool` is intended to be a read-only SQL tool (e.g., for LLM agent querying). However, validation based on the first keyword (e.g., `SELECT`) and a forbidden-keyword list does not block file-writing constructs such as `INTO OUTFILE` / `INTO DUMPFILE`.
As a result, an attacker who can influence the tool input (e.g., prompt injection through a public agent endpoint) may be able to write arbitrary content to files on the DB server.
If the MySQL/MariaDB account has the `FILE` privilege and server configuration permits writes to a useful location (e.g., a web-accessible directory), the impact can escalate to remote code execution on the application host (for example, by writing a PHP web shell).
Who is impacted: Deployments that expose an agent using `MySQLSelectTool` to untrusted input and run with overly-permissive DB privileges/configuration.
Patches
Not patched in: 2.8.11
Fixed in: 2.8.12
Recommended fix direction:
• Explicitly reject queries containing: `INTO`, `OUTFILE`, `DUMPFILE`, `LOAD_FILE`, and other file/IO-related functions/clauses.
• Prefer AST-based validation (SQL parser) over keyword checks.
• Constrain allowed tables/columns and disallow multi-statements.
Workarounds
If you cannot upgrade immediately:
• Remove/disable `MySQLSelectTool` for any agent reachable from untrusted input.
• Ensure DB account used by the tool does not have `FILE` privilege.
• Ensure `secure_file_priv` is set to a directory that is not web-accessible (or restrict it tightly).
• Add a defensive query filter at the application layer rejecting `INTO OUTFILE`, `INTO DUMPFILE`, `LOAD_FILE`, `;` (multi-statements), and suspicious comment patterns.
Related
Alias · CVE (1)
- CVE-2025-67509 Neuron is a PHP framework for creating and orchestrating AI Agents. vulnerability
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness
References
- https://github.com/neuron-core/neuron-ai/security/advisories/GHSA-j8g6-5gqc-mq36 web
- https://nvd.nist.gov/vuln/detail/CVE-2025-67509 advisory
- https://github.com/neuron-core/neuron-ai/commit/72735d0ea133266cf2f5d5d195d41e9dd865289a web
- https://github.com/neuron-core/neuron-ai package
- https://github.com/neuron-core/neuron-ai/releases/tag/2.8.12 web