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.

Severity (CVSS 3.1)8.5High
Exploit odds (30 days)1.0%top 37.1% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
Packagistjackalope/jackalope-doctrine-dbal1.7.4GHSA-ph98-v78f-jqrm

Affected products (as reported)

VendorProductVersions
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

References