{"answers":{"affected":"2 open source packages ship an affected version, including lemmy_server. It affects 1 product.","exploited":"There is no known exploitation of CVE-2024-23649 in the wild and no public exploit code.","fix":"Upgrade lemmy_server to 0.19.1 or later.","what":"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."},"fix_prompt":"Check this codebase for CVE-2024-23649 and fix it if it is affected.\n\nWhat it is: 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.\nExploitation: There is no known exploitation of CVE-2024-23649 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- lemmy_server (crates.io): affected from 0.17.0; fixed in 0.19.1\n- lemmy_server (crates.io): affected from 0.17.0; fixed in 0.19.1\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2024-23649/ (Markdown: https://insights.sbomify.com/CVE-2024-23649/index.md)","id":"CVE-2024-23649","markdown":"https://insights.sbomify.com/CVE-2024-23649/index.md","name":"CVE-2024-23649","record":{"aliases":["GHSA-r64r-5h43-26qv"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_read"],"network_reachable":"yes","non_default_config":false,"product_category":"Lemmy fediverse forum","requires_auth":"none","summary":"Any authenticated user can read arbitrary private messages from other users by exploiting a missing authorization check in the report API.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"lemmy","vendor":"join-lemmy"}],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-285","name":"Improper Authorization"},{"id":"CWE-200","name":"Exposure of Sensitive Information to an Unauthorized Actor"}],"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.\n\nCreating 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:\n\nAny 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.\n\nVersion 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.","ecosystems":["crates.io"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Any authenticated user may obtain private message details from other users on the same instance","id":"CVE-2024-23649","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"missing_authorization","year":"2024"},"n_packages":2,"n_references":2,"next":{"headline":"BuildKit possible panic when incorrect parameters sent from frontend","id":"CVE-2024-23650"},"packages":[{"ecosystem":"crates.io","fixed":["0.19.1"],"introduced":["0.17.0"],"last_affected":[],"package":"lemmy_server","purl":null,"source":"GHSA-r64r-5h43-26qv"},{"ecosystem":"crates.io","fixed":["0.19.1"],"introduced":["0.17.0"],"last_affected":[],"package":"lemmy_server","purl":"pkg:cargo/lemmy_server","source":"GHSA-r64r-5h43-26qv"}],"prev":{"headline":"Pimcore Admin Classic Bundle host header injection in the password reset","id":"CVE-2024-23648"},"products":["lemmy"],"published":"2024-01-24","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-05-30","vendors":["LemmyNet"]},"summary":"Any authenticated user can read arbitrary private messages from other users by exploiting a missing authorization check in the report API.","url":"https://insights.sbomify.com/CVE-2024-23649/"}