GHSA-V5H2-Q2W4-GPCX

Vulnerability from github – Published: 2024-11-22 20:27 – Updated: 2024-12-03 18:53
VLAI?
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 observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…