CVE-2024-23649 Any authenticated user may obtain private message details from other users on the same instance
Any authenticated user can read arbitrary private messages from other users by exploiting a missing authorization check in the report API.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-23649?
CVE-2024-23649 is a high-severity missing authorization vulnerability in LemmyNet lemmy, published on 24 Jan 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Lemmy is a link aggregator and forum for the fediverse. Starting in version 0.17.0 and prior to version 0.19.1, users can report private messages, even when they're neither sender nor recipient of the message. The API response to creating a private message report contains the private message itself, which means any user can just iterate over message ids to (loudly) obtain all private messages of an instance. A user with instance admin privileges can also abuse this if the private message is removed from the response, as they're able to see the resulting reports.
Creating a private message report by POSTing to `/api/v3/private_message/report` does not validate whether the reporter is the recipient of the message. lemmy-ui does not allow the sender to report the message; the API method should likely be restricted to accessible to recipients only. The API response when creating a report contains the `private_message_report_view` with all the details of the report, including the private message that has been reported:
Any authenticated user can obtain arbitrary (untargeted) private message contents. Privileges required depend on the instance configuration; when registrations are enabled without application system, the privileges required are practically none. When registration applications are required, privileges required could be considered low, but this assessment heavily varies by instance.
Version 0.19.1 contains a patch for this issue. A workaround is available. If an update to a fixed Lemmy version is not immediately possible, the API route can be blocked in the reverse proxy. This will prevent anyone from reporting private messages, but it will also prevent exploitation before the update has been applied.
Which versions are affected by CVE-2024-23649?
2 open source packages ship an affected version, including lemmy_server. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
lemmy_server crates.io | From 0.17.0 | 0.19.1 |
lemmy_server crates.io | From 0.17.0 | 0.19.1 |
Products include Join-Lemmy Lemmy.
How do I fix CVE-2024-23649?
Upgrade lemmy_server to 0.19.1 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2024-23649 being exploited?
There is no known exploitation of CVE-2024-23649 in the wild and no public exploit code.
Sources
Also known as GHSA-r64r-5h43-26qv.