Every CVE Search/ Get API key

CVE-2024-35196

Slack integration leaks sensitive information in logs in Sentry

2.0 LowFix available

Sentry is a developer-first error tracking and performance monitoring platform. Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration. The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key. SaaS users do not need to take any action. Self-hosted users should upgrade to version 24.5.0 or higher, rotate their Slack verification token, and use the Slack Signing Secret instead of the verification token. For users only using the slack.signing-secret in their self-hosted configuration, the legacy verification token is not used to verify the webhook payload. It is ignored. Users unable to upgrade should either set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks. By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not. Alternatively if the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
High
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.57%Up 0.5 points since Jun 1, 2024
90%50%10%1%

What each source reports

CVE List Score used 2.0

Slack integration leaks sensitive information in logs in Sentry

Sentry is a developer-first error tracking and performance monitoring platform. Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration. The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key. SaaS users do not need to take any action. Self-hosted users should upgrade to version 24.5.0 or higher, rotate their Slack verification token, and use the Slack Signing Secret instead of the verification token. For users only using the slack.signing-secret in their self-hosted configuration, the legacy verification token is not used to verify the webhook payload. It is ignored. Users unable to upgrade should either set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks. By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not. Alternatively if the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Record
CVE-2024-35196
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-532
Updated
2026-11-02
EUVDEUVD-2024-2012 2.0

Sentry is a developer-first error tracking and performance monitoring platform. Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration. The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key. SaaS users do not need to take any action. Self-hosted users should upgrade to version 24.5.0 or higher, rotate their Slack verification token, and use the Slack Signing Secret instead of the verification token. For users only using the slack.signing-secret in their self-hosted configuration, the legacy verification token is not used to verify the webhook payload. It is ignored. Users unable to upgrade should either set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks. By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not. Alternatively if the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Record
EUVD-2024-2012
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-c2g2-gx4j-rj3j 2.0

Slack integration leaks sensitive information in logs

Impact

Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration.

The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key.

Example event:

{
    "name": "sentry.integrations.slack",
    "level": "info",
    "event": "slack.event.message",  # This could be any of the `slack.*` events
    "request_data": {
      # Other keys are omitted for brevity
      "token": "<MyDeprecatedSlackVerificationToken>",
    }
}

Patches

⚠️ Sentry's support for validating Slack requests via the legacy verification token will be deprecated in version 24.7.0.

Workarounds

Option 1

Set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks.

By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not.

Option 2

The deprecated Slack verification token is leaked in log levels of INFO and ERROR in the Slack integration. If the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Below you'll find an example of the configuration adjustments necessary to remove the Slack integration logs:

# src/sentry/conf/server.py

...
 
LOGGING: LoggingConfig = {
    ...
    handlers: {
        # the line below already exists in the default configuration
        "null": {"class": "logging.NullHandler"},
        ...
    },
    "loggers": {
        "sentry.integrations.slack": {
            "handlers": ["null"],  # route logs to null handler
            "level": "CRITICAL",  # prevent generation of logs a lower levels (ex. ERROR and INFO)
        },
        ...
    },
}

References

Record
GHSA-c2g2-gx4j-rj3j
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-532
Updated
2026-11-02
NVD 2.0

Sentry is a developer-first error tracking and performance monitoring platform. Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration. The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key. SaaS users do not need to take any action. Self-hosted users should upgrade to version 24.5.0 or higher, rotate their Slack verification token, and use the Slack Signing Secret instead of the verification token. For users only using the slack.signing-secret in their self-hosted configuration, the legacy verification token is not used to verify the webhook payload. It is ignored. Users unable to upgrade should either set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks. By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not. Alternatively if the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Record
CVE-2024-35196
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-532
Updated
2026-11-02
OSV 2.0

Slack integration leaks sensitive information in logs in Sentry

Sentry is a developer-first error tracking and performance monitoring platform. Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration. The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key. SaaS users do not need to take any action. Self-hosted users should upgrade to version 24.5.0 or higher, rotate their Slack verification token, and use the Slack Signing Secret instead of the verification token. For users only using the slack.signing-secret in their self-hosted configuration, the legacy verification token is not used to verify the webhook payload. It is ignored. Users unable to upgrade should either set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks. By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not. Alternatively if the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Record
CVE-2024-35196
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-532
Updated
2026-11-02
OSVGHSA-c2g2-gx4j-rj3j 2.0

Slack integration leaks sensitive information in logs

Impact

Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration.

The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key.

Example event:

{
    "name": "sentry.integrations.slack",
    "level": "info",
    "event": "slack.event.message",  # This could be any of the `slack.*` events
    "request_data": {
      # Other keys are omitted for brevity
      "token": "<MyDeprecatedSlackVerificationToken>",
    }
}

Patches

⚠️ Sentry's support for validating Slack requests via the legacy verification token will be deprecated in version 24.7.0.

Workarounds

Option 1

Set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks.

By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not.

Option 2

The deprecated Slack verification token is leaked in log levels of INFO and ERROR in the Slack integration. If the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Below you'll find an example of the configuration adjustments necessary to remove the Slack integration logs:

# src/sentry/conf/server.py

...
 
LOGGING: LoggingConfig = {
    ...
    handlers: {
        # the line below already exists in the default configuration
        "null": {"class": "logging.NullHandler"},
        ...
    },
    "loggers": {
        "sentry.integrations.slack": {
            "handlers": ["null"],  # route logs to null handler
            "level": "CRITICAL",  # prevent generation of logs a lower levels (ex. ERROR and INFO)
        },
        ...
    },
}

References

Record
GHSA-c2g2-gx4j-rj3j
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-532
Updated
2026-11-02
OSVPYSEC-2026-1913 2.0

Slack integration leaks sensitive information in logs

Impact

Sentry's Slack integration incorrectly records the incoming request body in logs. This request data can contain sensitive information, including the deprecated Slack verification token. With this verification token, it is possible under specific configurations, an attacker can forge requests and act as the Slack integration.

The request body is leaked in log entries matching event == "slack.*" && name == "sentry.integrations.slack" && request_data == *. The deprecated slack verification token, will be found in the request_data.token key.

Example event:

{
    "name": "sentry.integrations.slack",
    "level": "info",
    "event": "slack.event.message",  # This could be any of the `slack.*` events
    "request_data": {
      # Other keys are omitted for brevity
      "token": "<MyDeprecatedSlackVerificationToken>",
    }
}

Patches

⚠️ Sentry's support for validating Slack requests via the legacy verification token will be deprecated in version 24.7.0.

Workarounds

Option 1

Set the slack.signing-secret instead of slack.verification-token. The signing secret is Slack's recommended way of authenticating webhooks.

By having slack.singing-secret set, Sentry self-hosted will no longer use the verification token for authentication of the webhooks, regardless of whether slack.verification-token is set or not.

Option 2

The deprecated Slack verification token is leaked in log levels of INFO and ERROR in the Slack integration. If the self-hosted instance is unable to be upgraded or re-configured to use the slack.signing-secret, the logging configuration can be adjusted to not generate logs from the integration. The default logging configuration can be found in src/sentry/conf/server.py. Services should be restarted once the configuration change is saved.

Below you'll find an example of the configuration adjustments necessary to remove the Slack integration logs:

# src/sentry/conf/server.py

...
 
LOGGING: LoggingConfig = {
    ...
    handlers: {
        # the line below already exists in the default configuration
        "null": {"class": "logging.NullHandler"},
        ...
    },
    "loggers": {
        "sentry.integrations.slack": {
            "handlers": ["null"],  # route logs to null handler
            "level": "CRITICAL",  # prevent generation of logs a lower levels (ex. ERROR and INFO)
        },
        ...
    },
}

References

Record
PYSEC-2026-1913
CVSS 3.1
2.0 LowCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
sentry
PyPI
24.3.0 up to 24.5.0
24.5.0

History

History
RecordedChangedSources
aliases, products, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-35196 is a low vulnerability (CVSS 2.0) in Getsentry Sentry, published May 31, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.57%, the 47th percentile. Fixed in sentry 24.5.0.

References

Show 4 moreShow less
MoveEnter Open