CVE-2024-25619
Published: 14 February 2024
Summary
CVE-2024-25619 is a low-severity Insufficient Session Expiration (CWE-613) vulnerability in Joinmastodon Mastodon. Its CVSS base score is 3.1 (Low).
Operationally, ranked in the top 41.3% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-22941
Vulnerability details
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…
more
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.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Locks the device (typically after inactivity) until re-authentication, addressing insufficient session expiration by preventing indefinite access.
Automatically terminating sessions after a defined period directly enforces session expiration, preventing indefinite session lifetimes that attackers can exploit.
Re-authentication after inactivity or time-based triggers prevents indefinite use of potentially hijacked or stale sessions.
Terminating sessions and network connections upon completion prevents insufficient session expiration.
Directly enforces termination of network sessions after inactivity or end-of-session, preventing indefinite session lifetime.
Consistent clocks across systems allow session expiration and timeout enforcement to function as intended in distributed environments.
When the non-persistent artifact is a session or connection, mandatory termination implements the missing expiration that CWE-613 describes.
Timed refresh of session-related information or on-demand generation plus deletion implements proper session expiration.