{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-98225 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-98225 is a vulnerability in Linux, published on 6 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-98225 and fix it if it is affected.\n\nWhat it is: CVE-2026-98225 is a vulnerability in Linux, published on 6 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-98225 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-98225/ (Markdown: https://insights.sbomify.com/CVE-2026-98225/index.md)","id":"CVE-2026-98225","markdown":"https://insights.sbomify.com/CVE-2026-98225/index.md","name":"CVE-2026-98225","record":{"aliases":["DEBIAN-CVE-2026-98225","GHSA-hwqf-5jpw-p78w","UBUNTU-CVE-2026-98225"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":true,"product_category":"Linux kernel","requires_auth":"none","summary":"A kernel bug with nokmem causes a warning and potential out-of-bounds read, leading to denial of service.","user_interaction":"not_required","vuln_class":"null_dereference"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/shrinker: fix bogus set_shrinker_bit() with cgroup.memory=nokmem\n\nWith cgroup.memory=nokmem, shrinker_memcg_alloc() bails out early and\nnever allocates an id, so shrinker-\u003eid keeps the 0 it got from the\nkzalloc() in shrinker_alloc().  __list_lru_init() then copies that 0 into\nlru-\u003eshrinker_id, where it looks like a valid bit index.\n\nNothing calls expand_shrinker_info() on nokmem either, so shrinker_nr_max\nstays 0 and every memcg ends up with an empty map (map_nr_max == 0).\n\ndeferred_split_folio() hands a real memcg to __list_lru_add() regardless\nof whether the lru is memcg aware, so the first THP queued in a cgroup\ndoes set_shrinker_bit(memcg, nid, 0) and trips the bounds check:\n\nWARNING: mm/shrinker.c:212 at set_shrinker_bit+0x7d/0x90, CPU#126\nCall Trace:\n \u003cTASK\u003e\n deferred_split_folio+0x18c/0x220\n map_anon_folio_pmd_nopf+0xdd/0x130\n map_anon_folio_pmd_pf+0x14/0xb0\n do_huge_pmd_anonymous_page+0x1a1/0x620\n __handle_mm_fault+0xea9/0x10d0\n handle_mm_fault+0xe5/0x320\n do_user_addr_fault+0x1cc/0x870\n exc_page_fault+0x81/0x1b0\n asm_exc_page_fault+0x27/0x30\n \u003c/TASK\u003e\n\nHarmless, the WARN_ON_ONCE() is what keeps the out of bounds unit[] read\nfrom happening, but the id should not look valid in the first place. \nClear it before returning.\n\nTwo other spots could paper over this: drop the id in __list_lru_init()\nwhen nokmem turns memcg_aware off, or make deferred_split_folio() pass\nNULL like list_lru_add_obj() does.  Both leave shrinker-\u003eid lying around\nfor the next caller, so fix it where the id is handed out.","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":"mm/shrinker: fix bogus set_shrinker_bit() with cgroup.memory=nokmem","id":"CVE-2026-98225","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"null_dereference","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"mm, swap: fix SWAP_USAGE_OFFLIST_BIT collision with real usage count","id":"CVE-2026-98226"},"packages":[],"prev":{"headline":"mm/vma: correctly unaccount on mmap_prepare() failure","id":"CVE-2026-98224"},"products":["Linux"],"published":"2026-10-06","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-10-19","vendors":["Linux"]},"summary":"A kernel bug with nokmem causes a warning and potential out-of-bounds read, leading to denial of service.","url":"https://insights.sbomify.com/CVE-2026-98225/"}