chore(deps): update dependency dbt-core to v1.7.15 [security] #486
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==1.7.9
->==1.7.15
GitHub Vulnerability Alerts
GHSA-p72q-h37j-3hq7
Summary
Using a version of
sqlparse
that has a security vulnerability and no way to update in current version of dbt core. Snyk recommends usingsqlparse==0.5
but this causes a conflict with dbt. Snyk states the issues is a recursion error:SNYK-PYTHON-SQLPARSE-6615674
.Details
Dependency conflict error message:
Resolution was to pin
sqlparse >=0.5.0, <0.6.0
indbt-core
, patched in 1.6.13 and 1.7.13.PoC
From Snyk:
Impact
Snyk classifies it as high 7.5/10.
Patches
The bug has been fixed in dbt-core v1.6.13 and dbt-core v1.7.13.
Mitigations
Bump
dbt-core
1.6 and 1.7 dependencies to 1.6.13 and 1.7.13 respectivelyCVE-2024-36105
Summary
Binding to
INADDR_ANY (0.0.0.0)
orIN6ADDR_ANY (::)
exposes an application on all network interfaces, increasing the risk of unauthorized access.While doing some static analysis and code inspection, I found the following code binding a socket to
INADDR_ANY
by passing""
as the address. This effectively binds to any network interface on the local system, not just localhost (127.0.0.1).Details
As stated in the Python docs, a special form for address is accepted instead of a host address:
''
representsINADDR_ANY
, equivalent to"0.0.0.0"
. On systems with IPv6, '' representsIN6ADDR_ANY
, which is equivalent to"::"
.https://github.com/dbt-labs/dbt-core/blob/main/core/dbt/task/docs/serve.py#L23C38-L23C39
The text around this code also imply the intention is to host docs only on localhost.
PoC
To recreate, run the docs ServeTask.run() to stand up the HTTP server. Then run
netstat
to see what addresses this process is bound.Impact
A user who serves docs on an unsecured public network, may unknowingly be hosting an unsecured (http) web site for any remote user/system to access on the same network.
Further references:
https://docs.python.org/3/library/socket.html#socket-families
https://docs.securesauce.dev/rules/PY030
https://cwe.mitre.org/data/definitions/1327.html
Patches
The issue has has been mitigated in dbt-core v1.6.15, dbt-core v1.7.15, and dbt-core v1.8.1 by binding to localhost explicitly by default in
dbt docs serve
(https://github.com/dbt-labs/dbt-core/issues/10209).Release Notes
dbt-labs/dbt-core (dbt-core)
v1.7.15
: dbt-core v1.7.15Compare Source
dbt-core 1.7.15 - May 22, 2024
Fixes
Security
v1.7.14
: dbt-core v1.7.14Compare Source
dbt-core 1.7.14 - May 02, 2024
Features
Fixes
Set
withList
to fix issue with index updates intermittently happening out of order (#72)Under the Hood
v1.7.13
: dbt-core v1.7.13Compare Source
dbt-core 1.7.13 - April 18, 2024
Security
Contributors
v1.7.12
: dbt-core v1.7.12Compare Source
dbt-core 1.7.12 - April 16, 2024
Fixes
v1.7.11
: dbt-core v1.7.11Compare Source
dbt-core 1.7.11 - March 28, 2024
Fixes
v1.7.10
: dbt-core v1.7.10Compare Source
dbt-core 1.7.10 - March 14, 2024
Fixes
KeyError
on deleted schema files (#8860)dbt list
(#9532)Dependencies
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR has been generated by Renovate Bot.