CVE-2024-25619: Destroying OAuth Applications doesn't notify Streaming of Access Tokens being destroyed in mastodon

Published Feb 14, 2024
·
Updated

Mastodon is a free, open-source social network server based on ActivityPub. When an OAuth Application is destroyed, the streaming server wasn't being informed that the Access Tokens had also been destroyed, this could have posed security risks to users by allowing an application to continue listening to streaming after the application had been destroyed. Essentially this comes down to the fact that when Doorkeeper sets up the relationship between Applications and Access Tokens, it uses a dependent: deleteall configuration, which means the aftercommit callback setup on AccessTokenExtension didn't actually fire, since deleteall doesn't trigger ActiveRecord callbacks. To mitigate, we need to add a beforedestroy callback to ApplicationExtension which announces to streaming that all the Application's Access Tokens are being "killed". Impact should be negligible given the affected application had to be owned by the user. None the less this issue has been addressed in versions 4.2.6, 4.1.14, 4.0.14, and 3.5.18. Users are advised to upgrade. There are no known workaround for this vulnerability.

Affected Software

4 affected components
Joinmastodon Mastodon<3.5.18
Joinmastodon Mastodon>=4.0.0<4.0.14
Joinmastodon Mastodon>=4.1.0<4.1.14
Joinmastodon Mastodon>=4.2.0<4.2.6

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Mastodon to a version that resolves this vulnerability.

    Fixed in 4.2.6
  2. Upgrade

    Upgrade Mastodon to a version that resolves this vulnerability.

    Fixed in 4.1.14
  3. Upgrade

    Upgrade Mastodon to a version that resolves this vulnerability.

    Fixed in 4.0.14
  4. Upgrade

    Upgrade Mastodon to a version that resolves this vulnerability.

    Fixed in 3.5.18
  5. Configuration

    Add a `before_destroy` callback to `ApplicationExtension` that announces to the streaming server that all the Application's Access Tokens are being "killed" when an OAuth Application is destroyed (so streaming is informed even when tokens are removed via `dependent: delete_all`).

    Mastodon Doorkeeper/Mastodon extensions Add before_destroy callback to ApplicationExtension to announce Application's Access Tokens being "killed" to streaming = before_destroy

Event History

Feb 14, 2024
CVE Published
via MITRE·08:50 PM
Data Sourced
via MITRE·08:50 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-25619?

The severity of CVE-2024-25619 is categorized as medium due to the potential for unauthorized access via stale access tokens.

2

How do I fix CVE-2024-25619?

To fix CVE-2024-25619, update to Mastodon version 3.5.19 or any version from 4.0.15 onwards.

3

What causes CVE-2024-25619?

CVE-2024-25619 is caused by the failure of the streaming server to be informed when OAuth Application access tokens are destroyed.

4

Who is affected by CVE-2024-25619?

Users of Mastodon versions prior to 3.5.19 and between 4.0.0 and 4.2.6 are affected by CVE-2024-25619.

5

What are the implications of CVE-2024-25619?

CVE-2024-25619 could allow previously authorized applications to continue accessing user resources, posing a security risk.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203