{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-89533 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-89533 is a critical 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-89533 and fix it if it is affected.\n\nWhat it is: CVE-2026-89533 is a critical 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-89533 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-89533/ (Markdown: https://insights.sbomify.com/CVE-2026-89533/index.md)","id":"CVE-2026-89533","markdown":"https://insights.sbomify.com/CVE-2026-89533/index.md","name":"CVE-2026-89533","record":{"aliases":["AZL-100614","BELL-CVE-2026-89533","DEBIAN-CVE-2026-89533","GHSA-9cp7-7xj6-hh85","UBUNTU-CVE-2026-89533"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Linux kernel RDMA","requires_auth":"none","summary":"An integer underflow in the Linux kernel's svcrdma module can cause excessive memory allocation, leading to a denial of service.","user_interaction":"not_required","vuln_class":"integer_overflow"},"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\nsvcrdma: Fix offset arithmetic in read_chunk_range\n\nsvc_rdma_read_chunk_range() walks a Read chunk's segment list to\nbuild a sub-range starting at byte offset and spanning length bytes\nfor a Position-Zero or Call chunk. Two arithmetic defects in the\nper-segment loop produce wrong DMA lengths and a u32 underflow:\n\n    pcl_for_each_segment(segment, chunk) {\n            if (offset \u003e segment-\u003ers_length) {\n                    offset -= segment-\u003ers_length;\n                    continue;\n            }\n\n            dummy.rs_handle = segment-\u003ers_handle;\n            dummy.rs_length = min_t(u32, length,\n                                    segment-\u003ers_length) - offset;\n            dummy.rs_offset = segment-\u003ers_offset + offset;\n\nFirst, the skip predicate uses '\u003e' instead of '\u003e='. When offset\nequals the segment's full rs_length, the segment is fully consumed\nand should be skipped, but the loop falls through into the body.\nThe resulting dummy.rs_length is min_t(u32, length, rs_length) -\nrs_length, which underflows to a near-UINT_MAX u32 when length is\nsmaller than rs_length, or is zero otherwise.\n\nSecond, the length formula subtracts offset from the min_t() result\nrather than from segment-\u003ers_length before the cap. For offset \u003e 0\nthe segment's residual is rs_length - offset, not rs_length, so the\ncap must be applied to the residual. With the current bracketing,\nwhenever length is smaller than rs_length - offset the per-segment\nlength becomes length - offset instead of length, silently dropping\noffset bytes from the rebuilt chunk. Combined with the boundary\ncase above it also enables the u32 underflow path, which propagates\na huge nr_bvec into svc_rdma_build_read_segment() and a multi-MiB\nkmalloc_array_node() in svc_rdma_get_rw_ctxt().\n\nAdditionally, svc_rdma_read_call_chunk() can invoke this function\nwith length == 0 when the last Read chunk ends exactly at the end\nof the Call chunk. With the corrected \u003e= predicate, every segment\nis skipped and the function returns the initial -EINVAL, rejecting\na valid request. Return success immediately when length is zero.\nAlso break out of the loop once length is fully consumed to avoid\npassing zero-length segments to svc_rdma_build_read_segment().\n\nFix by using '\u003e=' so a fully-consumed segment is skipped, by\nmoving '- offset' inside min_t() so the cap is applied to the\nsegment's residual length, by returning success for zero-length\nrequests, and by stopping iteration when the requested range has\nbeen consumed.","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":"svcrdma: Fix offset arithmetic in read_chunk_range","id":"CVE-2026-89533","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"integer_overflow","year":"2026"},"n_packages":0,"n_references":7,"next":{"headline":"svcrdma: Clear sc_cm_id when ADDR_CHANGE replacement fails","id":"CVE-2026-89534"},"packages":[],"prev":{"headline":"svcrdma: Fix pcl_for_each_segment for empty chunks","id":"CVE-2026-89532"},"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-19","vendors":["Linux"]},"summary":"An integer underflow in the Linux kernel's svcrdma module can cause excessive memory allocation, leading to a denial of service.","url":"https://insights.sbomify.com/CVE-2026-89533/"}