Vulnerability · Published Dec 13, 2021 · Assigned by GitHub_M
CVE-2021-43822SQL injection in jackalope/jackalope-doctrine-dbal
High 8.5
In plain English
A high-severity SQL injection in jackalope-doctrine-dbal from jackalope. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.0% (higher than 63% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Jackalope Doctrine-DBAL is an implementation of the PHP Content Repository API (PHPCR) using a relational database to persist data. In affected versions users can provoke SQL injections if they can specify a node name or query. Upgrade to version 1.7.4 to resolve this issue. If that is not possible, you can escape all places where `$property` is used to filter `sv:name` in the class `Jackalope\Transport\DoctrineDBAL\Query\QOMWalker`: `XPath::escape($property)`. Node names and xpaths can contain `"` or `;` according to the JCR specification. The jackalope component that translates the query object model into doctrine dbal queries does not properly escape the names and paths, so that a accordingly crafted node name can lead to an SQL injection. If queries are never done from user input, or if you validate the user input to not contain `;`, you are not affected.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Packagist | jackalope/jackalope-doctrine-dbal | 1.7.4 | GHSA-ph98-v78f-jqrm |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| jackalope | jackalope-doctrine-dbal | < 1.7.4 |
Weakness: CWE-89 · Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H