Executive brief
Agno, a library used for building AI agents, contains a security flaw in how it handles data deletion within ClickHouse databases. An attacker with basic access could exploit this to delete all records in a database table or extract sensitive information that they should not be able to see. This could lead to significant data loss and unauthorized access to private information stored within the AI's memory or knowledge base.
Technical details
A SQL injection vulnerability exists in `agno/vectordb/clickhouse/clickhousedb.py` within the `delete_by_metadata()` method. The root cause is the use of unsafe Python f-string interpolation to construct SQL WHERE clauses from user-supplied metadata keys and values. While table and database identifiers are properly parameterized, the metadata filters are directly embedded into the query string. A remote attacker with low privileges can provide malicious metadata (e.g., using tautologies like `' OR '1'='1`) to bypass intended filters, resulting in mass data deletion or information disclosure via error-based or blind SQL injection techniques. The vulnerability is confirmed in version 2.6.5.
Affected products
- agno-agi agno <= 2.6.5
Timeline
- 2026-05-29: disclosed: Vulnerability disclosed and CVE-2026-10105 assigned.
- 2026-05-29: advisory: GitHub Advisory GHSA-82m5-3pcp-hccq published.
References
- https://github.com/agno-agi/agno/issues/7866
- https://github.com/agno-agi/agno/pull/7883
- https://github.com/agno-agi/agno/pull/7883/changes/26a7439b803c0ccc9a58ee53572d8088a678923f
- https://github.com/agno-agi/agno/pull/7883/changes/a0ec99305e782e68ba26f5966c53ad50b5f40132
- https://www.vulncheck.com/advisories/agno-sql-injection-via-clickhouse-delete-by-metadata