ghsa-v5h2-q2w4-gpcx
Vulnerability from github
Impact
During routine testing, we identified a scenario where a specific error message generated by our platform could include a plaintext Client ID and Client Secret for an application integration. The Client ID and Client Secret would not be displayed in the UI, but would be returned in the underlying HTTP response to the end user. This could occur under the following conditions:
- An app installation made use of a Search UI component with the async
flag set to true (default: true),
- A user types types into the Search Component which creates a request to the third-party for search or query results, and
- That third-party response may then fail validation and Sentry would return the select-requester.invalid-response
error code along with a serialized version of a Sentry application containing the integration Client Secret.
Should this error be found, it's reasonable to assume the potential exposure of an integration Client Secret. However, an ID and Secret pair alone does not provide direct access to any data. For that secret to be abused an attacker would also need to obtain a valid API token for a Sentry application.
Impact for SaaS Users
For Sentry SaaS users, we have confirmed that only a single application integration was impacted and the owner has rotated their Client Secret. We have also confirmed that no abuse of the leaked Client Secret has occurred.
Potential Impact for Self-Hosted Users
Sentry self-hosted does not ship with any application integrations. This could only impact self-hosted users that maintain their own integrations. In that case, search for a select-requester.invalid-response
event. Please note that this error was also shared with another event unrelated to this advisory so you will also need to review the parameters logged for each named event. You may review select_requester.py for the instances where these errors can be generated. With the security fix this is no longer a shared event type.
Patches
- Sentry SaaS users do not need to take any action.
- The next release will include the fix for Sentry self-hosted users.
Workarounds
- Sentry self-hosted users may not install version 24.11.0 and instead wait for the next release.
- If your self-hosted instance is already running the affected version, consider downgrading to 24.10.0.
References
- Bug introduced in https://github.com/getsentry/sentry/pull/79377
- Security fix in https://github.com/getsentry/sentry/pull/81038
{ "affected": [ { "package": { "ecosystem": "PyPI", "name": "sentry" }, "versions": [ "24.11.0" ] } ], "aliases": [ "CVE-2024-53253" ], "database_specific": { "cwe_ids": [ "CWE-209" ], "github_reviewed": true, "github_reviewed_at": "2024-11-22T20:27:19Z", "nvd_published_at": "2024-11-22T20:15:09Z", "severity": "MODERATE" }, "details": "### Impact\nDuring routine testing, we identified a scenario where a specific error message generated by our platform could include a plaintext Client ID and Client Secret for an application integration. The Client ID and Client Secret would not be displayed in the UI, but would be returned in the underlying HTTP response to the end user. This could occur under the following conditions:\n- An app installation made use of a [Search UI component](https://docs.sentry.io/organization/integrations/integration-platform/ui-components/formfield/#select) with the `async` flag set to true (default: true),\n- A user types types into the Search Component which creates a request to the third-party for search or query results, and\n- That third-party response may then fail validation and Sentry would return the `select-requester.invalid-response` error code along with a serialized version of a Sentry application containing the integration Client Secret.\n\nShould this error be found, it\u0027s reasonable to assume the potential exposure of an integration Client Secret. However, an ID and Secret pair alone does not provide direct access to any data. For that secret to be abused an attacker would also need to obtain a valid API token for a Sentry application. \n\n#### Impact for SaaS Users\nFor Sentry SaaS users, we have confirmed that only a single application integration was impacted and the owner has rotated their Client Secret. We have also confirmed that no abuse of the leaked Client Secret has occurred. \n\n#### Potential Impact for Self-Hosted Users\nSentry self-hosted does not ship with any application integrations. This could only impact self-hosted users that maintain their own integrations. In that case, search for a `select-requester.invalid-response` event. Please note that this error was also shared with another event unrelated to this advisory so you will also need to review the parameters logged for each named event. You may review [select_requester.py](https://github.com/getsentry/sentry/blob/4a448fbb0d0b416fef9ee0ab26579e0dc16f21b7/src/sentry/sentry_apps/external_requests/select_requester.py#L78-L123) for the instances where these errors can be generated. With the security fix this is no longer a shared event type.\n\n### Patches\n- Sentry SaaS users do not need to take any action.\n- The next release will include the fix for Sentry self-hosted users.\n\n### Workarounds\n- Sentry self-hosted users may not install version 24.11.0 and instead wait for the next release.\n- If your self-hosted instance is already running the affected version, consider downgrading to [24.10.0](https://github.com/getsentry/sentry/releases/tag/24.10.0).\n\n### References\n- Bug introduced in https://github.com/getsentry/sentry/pull/79377\n- Security fix in https://github.com/getsentry/sentry/pull/81038\n", "id": "GHSA-v5h2-q2w4-gpcx", "modified": "2024-11-22T22:28:09Z", "published": "2024-11-22T20:27:19Z", "references": [ { "type": "WEB", "url": "https://github.com/getsentry/sentry/security/advisories/GHSA-v5h2-q2w4-gpcx" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-53253" }, { "type": "WEB", "url": "https://github.com/getsentry/sentry/pull/79377" }, { "type": "WEB", "url": "https://github.com/getsentry/sentry/pull/81038" }, { "type": "PACKAGE", "url": "https://github.com/getsentry/sentry" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "type": "CVSS_V3" } ], "summary": "Sentry improper error handling leaks Application Integration Client Secret" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.