The Query string search API (q=) was vulnerable to SQL injection via the Postgres query parser, which built WHERE clauses by interpolating user-supplied search terms directly into SQL strings via f-strings.
Fixed in v9.1.0. The Postgres query parser now uses parameterized queries with %(name)s placeholders passed to psycopg2's cursor.execute(), preventing SQL injection through the ?q= parameter. The MongoDB backend was not affected.
Upgrade to v9.1.0 or later. If unable to upgrade, deploy a proxy in front of the Alerta API to sanitize the q= parameter.
https://github.com/alerta/alerta/pull/712/files https://owasp.org/www-community/attacks/SQL_Injection
{
"github_reviewed_at": "2026-03-31T23:23:21Z",
"nvd_published_at": "2026-03-31T22:16:18Z",
"cwe_ids": [
"CWE-89"
],
"severity": "MODERATE",
"github_reviewed": true
}