{"id":"GHSA-ph98-v78f-jqrm","summary":"SQL injection in jackalope/jackalope-doctrine-dbal","details":"### Impact\n\nUsers can provoke SQL injections if they can specify a node name or query.\n\n### Patches\n\nUpgrade to version 1.7.4\n\nIf 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)`.\n\n### Workarounds\n\nNode 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.\n\nIf queries are never done from user input, or if you validate the user input to not contain `;`, you are not affected. \n\n### References\n\nNo further references.\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n* Open an issue in [jackalope/jackalope-doctrine-dbal repo](https://github.com/jackalope/jackalope-doctrine-dbal/issues)\n","aliases":["CVE-2021-43822"],"modified":"2026-07-08T06:27:47.086944679Z","published":"2021-12-14T21:08:13Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2021-12-14T15:25:41Z","nvd_published_at":"2021-12-13T20:15:00Z","cwe_ids":["CWE-89"],"severity":"HIGH"},"references":[{"type":"WEB","url":"https://github.com/jackalope/jackalope-doctrine-dbal/security/advisories/GHSA-ph98-v78f-jqrm"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-43822"},{"type":"WEB","url":"https://github.com/jackalope/jackalope-doctrine-dbal/commit/9d179a36d320330ddb303ea3a7c98d3a33d231db"},{"type":"PACKAGE","url":"https://github.com/jackalope/jackalope-doctrine-dbal"}],"affected":[{"package":{"name":"jackalope/jackalope-doctrine-dbal","ecosystem":"Packagist","purl":"pkg:composer/jackalope/jackalope-doctrine-dbal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.7.4"}]}],"versions":["1.0.0","1.0.0-RC1","1.0.0-RC2","1.0.0-RC3","1.0.0-RC4","1.0.0-alpha1","1.0.0-beta1","1.0.0-beta2","1.0.0-beta3","1.0.0-beta4","1.1.0","1.1.0-RC1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.2.0","1.2.0-RC1","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.6.1","1.7.0","1.7.1","1.7.2","1.7.3"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/12/GHSA-ph98-v78f-jqrm/GHSA-ph98-v78f-jqrm.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H"}]}