{"id":"GHSA-p72q-h37j-3hq7","summary":"dbt uses a SQLparse version with a high vulnerability","details":"### Summary\n\nUsing a version of `sqlparse` that has a security vulnerability and no way to update in current version of dbt core. Snyk recommends using `sqlparse==0.5` but this causes a conflict with dbt. Snyk states the issues is a recursion error: `SNYK-PYTHON-SQLPARSE-6615674`.\n\n### Details\nDependency conflict error message:\n```sh\nThe conflict is caused by:\n    The user requested sqlparse==0.5\n    dbt-core 1.7.10 depends on sqlparse\u003c0.5 and \u003e=0.2.3\n```\nResolution was to pin `sqlparse \u003e=0.5.0, \u003c0.6.0` in `dbt-core`, patched in 1.6.13 and 1.7.13.\n\n### PoC\nFrom Snyk:\n\n```python\nimport sqlparse\nsqlparse.parse('[' * 10000 + ']' * 10000)\n```\n\n### Impact\nSnyk classifies it as high 7.5/10.\n\n### Patches\nThe bug has been fixed in [dbt-core v1.6.13](https://github.com/dbt-labs/dbt-core/releases/tag/v1.6.13) and [dbt-core v1.7.13](https://github.com/dbt-labs/dbt-core/releases/tag/v1.7.13).\n\n### Mitigations\nBump `dbt-core` 1.6 and 1.7 dependencies to 1.6.13 and 1.7.13 respectively","modified":"2024-12-05T05:28:27.296870Z","published":"2024-04-22T22:17:59Z","database_specific":{"github_reviewed_at":"2024-04-22T22:17:59Z","nvd_published_at":null,"cwe_ids":["CWE-673"],"severity":"HIGH","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/andialbrecht/sqlparse/security/advisories/GHSA-2m57-hf25-phgg"},{"type":"WEB","url":"https://github.com/dbt-labs/dbt-core/security/advisories/GHSA-p72q-h37j-3hq7"},{"type":"PACKAGE","url":"https://github.com/dbt-labs/dbt-core"},{"type":"WEB","url":"https://security.snyk.io/vuln/SNYK-PYTHON-SQLPARSE-6615674"}],"affected":[{"package":{"name":"dbt-core","ecosystem":"PyPI","purl":"pkg:pypi/dbt-core"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.6.0"},{"fixed":"1.6.13"}]}],"versions":["1.6.0","1.6.1","1.6.10","1.6.11","1.6.12","1.6.1rc1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/04/GHSA-p72q-h37j-3hq7/GHSA-p72q-h37j-3hq7.json"}},{"package":{"name":"dbt-core","ecosystem":"PyPI","purl":"pkg:pypi/dbt-core"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.7.0"},{"fixed":"1.7.13"}]}],"versions":["1.7.0","1.7.1","1.7.10","1.7.11","1.7.12","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/04/GHSA-p72q-h37j-3hq7/GHSA-p72q-h37j-3hq7.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}