Bump sentry-sdk to 2.8.0 [SECURITY]#520
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
3b5ceff to
c8d6419
Compare
c8d6419 to
e16f5ae
Compare
e16f5ae to
9c2e7e2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
==2.0.1→==2.8.0Sentry's Python SDK unintentionally exposes environment variables to subprocesses
CVE-2024-40647 / GHSA-g92j-qhmh-64v2
More information
Details
Impact
The bug in Sentry's Python SDK <2.8.0 results in the unintentional exposure of environment variables to subprocesses despite the
env={}setting.Details
In Python's
subprocesscalls, all environment variables are passed to subprocesses by default. However, if you specifically do not want them to be passed to subprocesses, you may useenvargument insubprocesscalls, like in this example:If you'd want to not pass any variables, you can set an empty dict:
However, the bug in Sentry SDK <2.8.0 causes all environment variables to be passed to the subprocesses when
env={}is set, unless the Sentry SDK's Stdlib integration is disabled. The Stdlib integration is enabled by default.Patches
The issue has been patched in https://github.com/getsentry/sentry-python/pull/3251 and the fix released in sentry-sdk==2.8.0. The fix was also backported to sentry-sdk==1.45.1.
Workarounds
We strongly recommend upgrading to the latest SDK version. However, if it's not possible, and if passing environment variables to child processes poses a security risk for you, there are two options:
env={}with the minimal dictenv={"EMPTY_ENV":"1"}or similar.OR
References
Severity
CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
getsentry/sentry-python (sentry-sdk)
v2.8.0Compare Source
Various fixes & improvements
profiler_iduses underscore (#3249) by @ZylphrexHubinHttpTransport(#3247) by @szokeasaurusrexipdbfrom test requirements (#3237) by @rominfSentryPropagator(#3086) by @mender8c13457to88273a9(#3225) by @dependabotv2.7.1Compare Source
Various fixes & improvements
v2.7.0Compare Source
originto spans and transactions (#3133) by @antonpirkerdb.querytodb(#3186) by @0Caloriesv2.6.0Compare Source
59f9683to8c13457(#3146) by @dependabotv2.5.1Compare Source
This change fixes a regression in our cron monitoring feature, which caused cron checkins not to be sent. The regression appears to have been introduced in version 2.4.0.
We recommend that all users, who use Cron monitoring and are currently running sentry-python ≥2.4.0, upgrade to this release as soon as possible!
Other fixes & improvements
last_event_idcleared (#3124) by @szokeasaurusrexv2.5.0Compare Source
Various fixes & improvements
Allow to configure status codes to report to Sentry in Starlette and FastAPI (#3008) by @sentrivana
By passing a new option to the FastAPI and Starlette integrations, you're now able to configure what
status codes should be sent as events to Sentry. Here's how it works:
failed_request_status_codesexpects a list of integers or containers (objects that allow membership checks viain)of integers. Examples of valid
failed_request_status_codes:[500]will only send events on HTTP 500.[400, range(500, 599)]will send events on HTTP 400 as well as the 500-599 range.[500, 503]will send events on HTTP 500 and 503.The default is
[range(500, 599)].See the FastAPI and Starlette integration docs for more details.
Support multiple keys with
cache_prefixes(#3136) by @sentrivanaSupport integer Redis keys (#3132) by @sentrivana
Update SDK version in CONTRIBUTING.md (#3129) by @sentrivana
Bump actions/checkout from 4.1.4 to 4.1.5 (#3067) by @dependabot
v2.4.0Compare Source
Various fixes & improvements
cache.keyspan data field a list (#3110) by @antonpirkerlast_event_idfrom migration guide (#3126) by @szokeasaurusrex_last_event_idinScope.__copy__(#3123) by @szokeasaurusrex4381a97to59f9683(#3066) by @dependabotv2.3.1Compare Source
Various fixes & improvements
v2.3.0Compare Source
Various fixes & improvements
coheretestsuite for new release ofcohere(#3098) by @antonpirker_sentry_spanmight be missing (#3096) by @sentrivanav2.2.1Compare Source
Various fixes & improvements
v2.2.0Compare Source
New features
last_event_idfunction, which had been removed in 2.0.0Other fixes & improvements
get_clienttyping (#3063) by @szokeasaurusrexMeasurementValue.unitNotRequired (#3051) by @antonpirkerv2.1.1Compare Source
v2.1.0Compare Source
fix(quart): Fix Quart integration (#3043) by @szokeasaurusrex
New integration: Langchain (#2911) by @colin-sentry
Usage: (Langchain is auto enabling, so you do not need to do anything special)
Check out the LangChain docs for details.
New integration: Anthropic (#2831) by @czyber
Usage: (add the AnthropicIntegration to your
sentry_sdk.init()call)Check out the Anthropic docs for details.
New integration: Huggingface Hub (#3033) by @colin-sentry
Usage: (Huggingface Hub is auto enabling, so you do not need to do anything special)
Check out the Huggingface docs for details. (comming soon!)
fix(huggingface): Reduce API cross-section for huggingface in test (#3042) by @colin-sentry
fix(django): Fix Django ASGI integration on Python 3.12 (#3027) by @bellini666
feat(perf): Add ability to put measurements directly on spans. (#2967) by @colin-sentry
fix(tests): Fix trytond tests (#3031) by @sentrivana
fix(tests): Update
pytest-asyncioto fix CI (#3030) by @sentrivanafix(docs): Link to respective migration guides directly (#3020) by @sentrivana
docs(scope): Add docstring to
Scope.set_tags(#2978) by @szokeasaurusrextest(scope): Fix typos in assert error message (#2978) by @szokeasaurusrex
feat(scope): New
set_tagsfunction (#2978) by @szokeasaurusrextest(scope): Add unit test for
Scope.set_tags(#2978) by @szokeasaurusrexfeat(scope): Add
set_tagsto top-level API (#2978) by @szokeasaurusrextest(scope): Add unit test for top-level API
set_tags(#2978) by @szokeasaurusrexfeat(tests): Parallelize tox (#3025) by @sentrivana
build(deps): Bump checkouts/data-schemas from
4aa14a7to4381a97(#3028) by @dependabotmeta(license): Bump copyright year (#3029) by @szokeasaurusrex
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.