First published: Wed 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: delete_all` configuration, which means the `after_commit` callback setup on `AccessTokenExtension` didn't actually fire, since `delete_all` doesn't trigger ActiveRecord callbacks. To mitigate, we need to add a `before_destroy` 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.
Credit: security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Mastodon | <3.5.18 | |
Mastodon | >=4.0.0<4.0.14 | |
Mastodon | >=4.1.0<4.1.14 | |
Mastodon | >=4.2.0<4.2.6 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of CVE-2024-25619 is categorized as medium due to the potential for unauthorized access via stale access tokens.
To fix CVE-2024-25619, update to Mastodon version 3.5.19 or any version from 4.0.15 onwards.
CVE-2024-25619 is caused by the failure of the streaming server to be informed when OAuth Application access tokens are destroyed.
Users of Mastodon versions prior to 3.5.19 and between 4.0.0 and 4.2.6 are affected by CVE-2024-25619.
CVE-2024-25619 could allow previously authorized applications to continue accessing user resources, posing a security risk.