CVE-2024-23649

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-23649
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-23649.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-23649
Aliases
Published
2024-01-24T18:15:09Z
Modified
2024-05-30T04:15:10.368259Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
[none]
Details

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.

References

Affected packages

Git / github.com/lemmynet/lemmy

Affected ranges

Type
GIT
Repo
https://github.com/lemmynet/lemmy
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

0.*

0.10.0
0.10.0-rc.10
0.10.0-rc.12
0.10.0-rc.13
0.10.0-rc.5
0.10.0-rc.7
0.10.0-rc.8
0.10.0-rc.9
0.10.1
0.10.2
0.10.3
0.11.0
0.11.0-rc.1
0.11.1
0.11.2
0.11.3-rc.4
0.11.4-rc.16
0.12.0
0.12.0-rc.1
0.12.0-rc.2
0.12.2-rc.1
0.13.0
0.13.0-rc.1
0.13.5-rc.7
0.13.6-rc.2
0.14.0
0.14.0-rc.1
0.14.0-rc.2
0.14.1
0.14.2
0.14.2-rc.1
0.14.3
0.15.0
0.15.0-rc.7
0.15.1
0.16.0
0.16.0-rc.1
0.16.0-rc.2
0.16.0-rc.3
0.16.0-rc.4
0.16.1
0.16.1-rc.1
0.16.2
0.16.2-rc.1
0.16.2-rc.2
0.16.2-rc.3
0.16.3
0.16.3-rc.1
0.16.4-rc.11
0.16.5
0.17.0
0.17.0-rc.1
0.17.0-rc.3
0.17.0-rc.4
0.17.1
0.18.0
0.18.0-rc.1
0.18.0-rc.2
0.18.0-rc.3
0.18.0-rc.4
0.18.0-rc.5
0.18.0-rc.6
0.18.0-rc.8
0.18.1
0.18.1-rc.1
0.18.1-rc.10
0.18.1-rc.4
0.18.1-rc.9
0.18.4-beta.7
0.19.0
0.19.0-beta.7
0.19.0-rc.1
0.19.0-rc.10
0.19.0-rc.11
0.19.0-rc.12
0.19.0-rc.13
0.19.0-rc.14
0.19.0-rc.15
0.19.0-rc.16
0.19.0-rc.2
0.19.0-rc.3
0.19.0-rc.4
0.19.0-rc.5
0.19.0-rc.6
0.19.0-rc.7
0.19.0-rc.8
0.9.0
0.9.0-rc.12
0.9.0-rc.4
0.9.0-rc.6
0.9.0-rc.7
0.9.1
0.9.2
0.9.3
0.9.4
0.9.5
0.9.6
0.9.7
0.9.8
0.9.9

v0.*

v0.0.7.4
v0.0.7.5
v0.0.8.1
v0.0.8.2
v0.0.8.3
v0.4.0.3
v0.5.10
v0.6.36
v0.6.37
v0.6.38
v0.6.61
v0.6.62
v0.6.63
v0.6.64
v0.6.65
v0.6.66
v0.6.67
v0.6.68
v0.6.69
v0.6.70
v0.6.71
v0.6.72
v0.6.73
v0.6.74
v0.6.75
v0.6.76
v0.6.77
v0.6.78
v0.6.79
v0.6.80
v0.6.81
v0.6.82
v0.6.83
v0.6.84
v0.6.85
v0.7.0
v0.7.1
v0.7.10
v0.7.11
v0.7.12
v0.7.13
v0.7.14
v0.7.15
v0.7.16
v0.7.17
v0.7.18
v0.7.19
v0.7.2
v0.7.20
v0.7.21
v0.7.22
v0.7.23
v0.7.24
v0.7.25
v0.7.26
v0.7.28
v0.7.29
v0.7.3
v0.7.30
v0.7.31
v0.7.32
v0.7.33
v0.7.34
v0.7.35
v0.7.36
v0.7.37
v0.7.38
v0.7.39
v0.7.4
v0.7.40
v0.7.41
v0.7.42
v0.7.43
v0.7.44
v0.7.46
v0.7.47
v0.7.48
v0.7.49
v0.7.5
v0.7.50
v0.7.52
v0.7.53
v0.7.54
v0.7.55
v0.7.56
v0.7.57
v0.7.59
v0.7.6
v0.7.61
v0.7.62
v0.7.63
v0.7.64
v0.7.7
v0.7.8
v0.7.9
v0.8.0
v0.8.1
v0.8.10
v0.8.2
v0.8.3
v0.8.4
v0.8.5
v0.8.6
v0.8.7
v0.8.8
v0.8.9
v0.9.0-rc.1
v0.9.0-rc.2