ghsa-v5h2-q2w4-gpcx
Vulnerability from github
Published
2024-11-22 20:27
Modified
2024-12-03 18:53
Summary
Sentry improper error handling leaks Application Integration Client Secret
Details

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.
  • Sentry self-hosted users should upgrade to 24.11.1 or higher.

References

  • Bug introduced in https://github.com/getsentry/sentry/pull/79377
  • Security fix in https://github.com/getsentry/sentry/pull/81038
Show details on source website


{
  "affected": [
    {
      "package": {
        "ecosystem": "PyPI",
        "name": "sentry"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "24.11.0"
            },
            {
              "fixed": "24.11.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "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- Sentry self-hosted users should upgrade to 24.11.1 or higher.\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-12-03T18:53:35Z",
  "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"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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.