{"answers":{"affected":"3 open source packages ship an affected version, including github.com/nezhahq/nezha.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53521 exists.","fix":"Upgrade github.com/nezhahq/nezha to 2.1.0 or later.","what":"CVE-2026-53521 is a medium-severity missing authorization vulnerability in nezhahq nezha, published on 12 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-53521 and fix it if it is affected.\n\nWhat it is: CVE-2026-53521 is a medium-severity missing authorization vulnerability in nezhahq nezha, published on 12 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53521 exists.\n\nAffected packages and fixed versions:\n- github.com/nezhahq/nezha (Go): affected all versions; no fix listed\n- github.com/nezhahq/nezha (Go): affected from 2.0.14; fixed in 2.1.0\n- github.com/nezhahq/nezha (Go): affected from 2.0.14; fixed in 2.1.0\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-2026-53521/ (Markdown: https://insights.sbomify.com/CVE-2026-53521/index.md)","id":"CVE-2026-53521","markdown":"https://insights.sbomify.com/CVE-2026-53521/index.md","name":"CVE-2026-53521","record":{"aliases":["GHSA-39g2-8x68-pmx8","GO-2026-5826"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_modify","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Nezha Monitoring","requires_auth":"low_privilege","summary":"Attackers can persist invalid DDNS profile IDs to hijack another user's DDNS configuration context when that profile is later created.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":6.4,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L","version":"3.1"},"cwes":[{"id":"CWE-863","name":"Incorrect Authorization"}],"description":"Nezha Monitoring is a self-hostable, lightweight, servers and websites monitoring and O\u0026M tool. From version 2.0.14 to before version 2.1.0, PATCH /server/{id} accepts and persists nonexistent ddns_profiles IDs for a member-owned server. If another user later creates a DDNS profile with one of those IDs, the DDNS worker resolves the stored ID and dispatches an update using the other user's DDNS profile configuration in the context of the attacker's server. This issue has been patched in version 2.1.0.","ecosystems":["Go"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Nezha Monitoring: Stored future DDNS profile ID allows unauthorized use of another user's DDNS profile context","id":"CVE-2026-53521","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":3,"n_references":1,"next":{"headline":"Nezha Monitoring: Unbounded WebSocket Streams — Resource Exhaustion DoS","id":"CVE-2026-53522"},"packages":[{"ecosystem":"Go","fixed":[],"introduced":["0"],"last_affected":[],"package":"github.com/nezhahq/nezha","purl":"pkg:golang/github.com/nezhahq/nezha","source":"GO-2026-5826"},{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["2.0.14"],"last_affected":[],"package":"github.com/nezhahq/nezha","purl":null,"source":"GHSA-39g2-8x68-pmx8"},{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["2.0.14"],"last_affected":[],"package":"github.com/nezhahq/nezha","purl":"pkg:golang/github.com/nezhahq/nezha","source":"GHSA-39g2-8x68-pmx8"}],"prev":{"headline":"Nezha Monitoring: Authenticated users can claim the dashboard Host through NAT and preempt all dashboard routing","id":"CVE-2026-53520"},"products":["nezha"],"published":"2026-06-12","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":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-06-15","vendors":["nezhahq"]},"summary":"Attackers can persist invalid DDNS profile IDs to hijack another user's DDNS configuration context when that profile is later created.","url":"https://insights.sbomify.com/CVE-2026-53521/"}