{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-89678 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-89678 is a high-severity 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-89678 and fix it if it is affected.\n\nWhat it is: CVE-2026-89678 is a high-severity 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-89678 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-89678/ (Markdown: https://insights.sbomify.com/CVE-2026-89678/index.md)","id":"CVE-2026-89678","markdown":"https://insights.sbomify.com/CVE-2026-89678/index.md","name":"CVE-2026-89678","record":{"aliases":["DEBIAN-CVE-2026-89678","GHSA-qpfv-2qf2-xr5w","UBUNTU-CVE-2026-89678"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"Linux kernel NFS server","requires_auth":"none","summary":"A logic error in the Linux kernel NFS server allows partial writes to corrupt file offsets, leading to data modification.","user_interaction":"not_required","vuln_class":"other"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","version":"3.1"},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix partial-write detection in nfsd_direct_write\n\nnfsd_direct_write() walks a list of write segments and, after each\nvfs_iocb_iter_write(), tries to detect a short write so the loop can\nstop before placing the next segment at a wrong file offset:\n\n    host_err = vfs_iocb_iter_write(file, kiocb, \u0026segments[i].iter);\n    if (host_err \u003c 0)\n            return host_err;\n    *cnt += host_err;\n    if (host_err \u003c segments[i].iter.count)\n            break;\t/* partial write */\n\nvfs_iocb_iter_write() runs the iter through -\u003ewrite_iter(), which\nadvances the iter by the number of bytes written. By the time the\ncheck runs, segments[i].iter.count is the residual, not the original\nrequest length:\n\n    before write_iter: iter.count == original_len\n    after  write_iter: iter.count == original_len - host_err\n\nThe condition then reduces to host_err \u003c original_len - host_err, so\nthe break fires only when less than half of the segment was written.\nAny short write completing between 50% and 99% of the segment slips\nthrough; the loop advances to the next segment with kiocb-\u003eki_pos\nonly bumped by the short amount, writing the next segment's payload\nat the wrong offset and over-reporting *cnt to the NFS client.\n\nSnapshot the segment's byte count before the write and compare\nhost_err against that snapshot so any short write breaks the loop.","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":"nfsd: fix partial-write detection in nfsd_direct_write","id":"CVE-2026-89678","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"other","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"nfsd: fix null dereference in nfsd4_setattr for deleg timestamp attrs","id":"CVE-2026-89679"},"packages":[],"prev":{"headline":"nfsd: fix possible fh_compose of wrong dentry in nfsd4_create_file()","id":"CVE-2026-89677"},"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":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-10-19","vendors":["Linux"]},"summary":"A logic error in the Linux kernel NFS server allows partial writes to corrupt file offsets, leading to data modification.","url":"https://insights.sbomify.com/CVE-2026-89678/"}