{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-89654 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-89654 is a critical use after free vulnerability in Linux, published on 11 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-89654 and fix it if it is affected.\n\nWhat it is: CVE-2026-89654 is a critical use after free vulnerability in Linux, published on 11 Sep 2026. 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-2026-89654 in the wild and no public exploit code.\n\nAffected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.\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-89654/ (Markdown: https://insights.sbomify.com/CVE-2026-89654/index.md)","id":"CVE-2026-89654","markdown":"https://insights.sbomify.com/CVE-2026-89654/index.md","name":"CVE-2026-89654","record":{"aliases":["AZL-100770","BELL-CVE-2026-89654","DEBIAN-CVE-2026-89654","GHSA-hwg3-wmfr-8q53","UBUNTU-CVE-2026-89654"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["code_execution","privilege_escalation"],"network_reachable":"yes","non_default_config":false,"product_category":"Linux kernel Ceph","requires_auth":"none","summary":"A use-after-free vulnerability in the Linux kernel's Ceph client allows attackers to execute arbitrary code or escalate privileges via a race condition.","user_interaction":"not_required","vuln_class":"use_after_free"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":9.8,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nceph: fix UAF in check_new_map() on session freed during unlock\n\ncheck_new_map() iterates mdsc-\u003esessions[] and for each active session\ndrops mdsc-\u003emutex to perform per-session operations.  The forced-close\npath (rank removed from map) correctly takes a reference on s via\nceph_get_mds_session() before releasing mdsc-\u003emutex, but three other\npaths do not:\n\n  Path A (address changed):  mutex_unlock → mutex_lock(\u0026s-\u003es_mutex)\n  Path B (reconnect):        mutex_unlock → send_mds_reconnect(mdsc, s)\n  Path C (active transition): mutex_unlock → mutex_lock(\u0026s-\u003es_mutex)\n\nWithout the extra reference, another thread can acquire mdsc-\u003emutex\nduring the unlock window, call __unregister_session() which drops the\nlast reference on s, and free it.  The original thread then accesses\nfreed memory via s-\u003es_mutex.\n\nFix by adding ceph_get_mds_session(s) before each mutex_unlock and\nceph_put_mds_session(s) after the corresponding mutex_lock, matching\nthe pattern already used in the forced-close path.\n\nRace timeline (Path A):\n\n  Thread A (check_new_map)             Thread B (another map update\n    holds mdsc-\u003emutex                      or session teardown)\n  --------------------------           --------------------------\n  s = mdsc-\u003esessions[i]\n  (refcount == 1, held only by\n   sessions[] array)\n\n  mutex_unlock(\u0026mdsc-\u003emutex)\n                               ---\u003e    acquires mdsc-\u003emutex\n                                       __unregister_session(mdsc, s)\n                                         sessions[i] = NULL\n                                         ceph_put_mds_session(s)\n                                           refcount: 1 -\u003e 0\n                                           kfree(s)  \u003c--- freed!\n\n  mutex_lock(\u0026s-\u003es_mutex)\n  UAF on freed s-\u003es_mutex","ecosystems":[],"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":"ceph: fix UAF in check_new_map() on session freed during unlock","id":"CVE-2026-89654","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"use_after_free","year":"2026"},"n_packages":0,"n_references":5,"next":{"headline":"ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock","id":"CVE-2026-89655"},"packages":[],"prev":{"headline":"ceph: reject export_targets ranks \u003e= CEPH_MAX_MDS in mdsmap decode","id":"CVE-2026-89653"},"products":["Linux"],"published":"2026-09-11","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-10-21","vendors":["Linux"]},"summary":"A use-after-free vulnerability in the Linux kernel's Ceph client allows attackers to execute arbitrary code or escalate privileges via a race condition.","url":"https://insights.sbomify.com/CVE-2026-89654/"}