{"api_version":"1","generated_at":"2026-04-23T20:19:41+00:00","cve":"CVE-2021-43608","urls":{"html":"https://cve.report/CVE-2021-43608","api":"https://cve.report/api/cve/CVE-2021-43608.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-43608","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-43608"},"summary":{"title":"CVE-2021-43608","description":"Doctrine DBAL 3.x before 3.1.4 allows SQL Injection. The escaping of offset and length inputs to the generation of a LIMIT clause was not probably cast to an integer, allowing SQL injection to take place if application developers passed unescaped user input to the DBAL QueryBuilder or any other API that ultimately uses the AbstractPlatform::modifyLimitQuery API.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2021-12-09 20:15:00","updated_at":"2021-12-15 14:46:00"},"problem_types":["CWE-89"],"metrics":[],"references":[{"url":"https://www.doctrine-project.org/2021/11/11/dbal3-vulnerability-fixed.html","name":"https://www.doctrine-project.org/2021/11/11/dbal3-vulnerability-fixed.html","refsource":"MISC","tags":[],"title":"DBAL 3 SQL Injection Security Vulnerability fixed (CVE-2021-43608) - Doctrine: PHP Open Source Project","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/doctrine/dbal/releases","name":"https://github.com/doctrine/dbal/releases","refsource":"MISC","tags":[],"title":"Releases · doctrine/dbal · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/doctrine/dbal/security/advisories/GHSA-r7cj-8hjg-x622","name":"https://github.com/doctrine/dbal/security/advisories/GHSA-r7cj-8hjg-x622","refsource":"CONFIRM","tags":[],"title":"DBAL 3 SQL Injection Security Vulnerability · Advisory · doctrine/dbal · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/doctrine/dbal/commit/9dcfa4cb6c03250b78a84737ba7ceb82f4b7ba4d","name":"https://github.com/doctrine/dbal/commit/9dcfa4cb6c03250b78a84737ba7ceb82f4b7ba4d","refsource":"MISC","tags":[],"title":"Cast LIMIT and OFFSET to int when building limit query · doctrine/dbal@9dcfa4c · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-43608","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-43608","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2021","cve_id":"43608","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"doctrine-project","cpe5":"database_abstraction_layer","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2021-43608","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Doctrine DBAL 3.x before 3.1.4 allows SQL Injection. The escaping of offset and length inputs to the generation of a LIMIT clause was not probably cast to an integer, allowing SQL injection to take place if application developers passed unescaped user input to the DBAL QueryBuilder or any other API that ultimately uses the AbstractPlatform::modifyLimitQuery API."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"url":"https://github.com/doctrine/dbal/commit/9dcfa4cb6c03250b78a84737ba7ceb82f4b7ba4d","refsource":"MISC","name":"https://github.com/doctrine/dbal/commit/9dcfa4cb6c03250b78a84737ba7ceb82f4b7ba4d"},{"url":"https://www.doctrine-project.org/2021/11/11/dbal3-vulnerability-fixed.html","refsource":"MISC","name":"https://www.doctrine-project.org/2021/11/11/dbal3-vulnerability-fixed.html"},{"url":"https://github.com/doctrine/dbal/releases","refsource":"MISC","name":"https://github.com/doctrine/dbal/releases"},{"refsource":"CONFIRM","name":"https://github.com/doctrine/dbal/security/advisories/GHSA-r7cj-8hjg-x622","url":"https://github.com/doctrine/dbal/security/advisories/GHSA-r7cj-8hjg-x622"}]}},"nvd":{"publishedDate":"2021-12-09 20:15:00","lastModifiedDate":"2021-12-15 14:46:00","problem_types":["CWE-89"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":9.8,"baseSeverity":"CRITICAL"},"exploitabilityScore":3.9,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:P","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":7.5},"severity":"HIGH","exploitabilityScore":10,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:doctrine-project:database_abstraction_layer:*:*:*:*:*:*:*:*","versionStartIncluding":"3.0.0","versionEndExcluding":"3.1.4","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"43608","Ordinal":"220701","Title":"CVE-2021-43608","CVE":"CVE-2021-43608","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"43608","Ordinal":"1","NoteData":"** RESERVED ** This candidate has been reserved by an organization or individual that will use it when announcing a new security problem. When the candidate has been publicized, the details for this candidate will be provided.","Type":"Description","Title":null}]}}}