Description
Elide is a Java library that lets you stand up a GraphQL/JSON-API web service with minimal effort. When leveraging the following together: Elide Aggregation Data Store for Analytic Queries, Parameterized Columns (A column that requires a client provided parameter), and a parameterized column of type TEXT. There is the potential for a hacker to provide a carefully crafted query that would bypass server side authorization filters through SQL injection. A recent patch to Elide 6.1.2 allowed the '-' character to be included in parameterized TEXT columns. This character can be interpreted as SQL comments ('--') and allow the attacker to remove the WHERE clause from the generated query and bypass authorization filters. A fix is provided in Elide 6.1.4. The vulnerability only exists for parameterized columns of type TEXT and only for analytic queries (CRUD is not impacted). Workarounds include leveraging a different type of parameterized column (TIME, MONEY, etc) or not leveraging parameterized columns.
Remediation
References
https://github.com/yahoo/elide/pull/2581
https://github.com/yahoo/elide/releases/tag/6.1.4
https://github.com/yahoo/elide/security/advisories/GHSA-8xpj-9j9g-fc9r
Related Vulnerabilities
CVE-2023-47325 Vulnerability in maven package org.silverpeas.core:silverpeas-core-web
CVE-2020-36376 Vulnerability in npm package aaptjs
CVE-2021-21423 Vulnerability in npm package projen
CVE-2018-3783 Vulnerability in npm package flintcms
CVE-2023-26488 Vulnerability in npm package @openzeppelin/contracts