{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-31601 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-31601 is a medium-severity vulnerability in Linux kernel, published on 24 Apr 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-31601 and fix it if it is affected.\n\nWhat it is: CVE-2026-31601 is a medium-severity vulnerability in Linux kernel, published on 24 Apr 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-31601 in the wild and no public exploit code.\n\nAffected product: Linux kernel. 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-31601/ (Markdown: https://insights.sbomify.com/CVE-2026-31601/index.md)","id":"CVE-2026-31601","markdown":"https://insights.sbomify.com/CVE-2026-31601/index.md","name":"CVE-2026-31601","record":{"aliases":["AZL-83804","DEBIAN-CVE-2026-31601","GHSA-v3gv-mm6q-h9jf","UBUNTU-CVE-2026-31601"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel","requires_auth":"low_privilege","summary":"A null pointer dereference in the Linux kernel's VFIO/xe driver causes a system crash when resetting unsupported virtual functions.","user_interaction":"not_required","vuln_class":"null_dereference"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[{"product":"linux_kernel","vendor":"linux"}],"cvss":{"score":5.5,"severity":"medium","source":"nvd","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nvfio/xe: Reorganize the init to decouple migration from reset\n\nAttempting to issue reset on VF devices that don't support migration\nleads to the following:\n\n  BUG: unable to handle page fault for address: 00000000000011f8\n  #PF: supervisor read access in kernel mode\n  #PF: error_code(0x0000) - not-present page\n  PGD 0 P4D 0\n  Oops: Oops: 0000 [#1] SMP NOPTI\n  CPU: 2 UID: 0 PID: 7443 Comm: xe_sriov_flr Tainted: G S   U              7.0.0-rc1-lgci-xe-xe-4588-cec43d5c2696af219-nodebug+ #1 PREEMPT(lazy)\n  Tainted: [S]=CPU_OUT_OF_SPEC, [U]=USER\n  Hardware name: Intel Corporation Alder Lake Client Platform/AlderLake-P DDR4 RVP, BIOS RPLPFWI1.R00.4035.A00.2301200723 01/20/2023\n  RIP: 0010:xe_sriov_vfio_wait_flr_done+0xc/0x80 [xe]\n  Code: ff c3 cc cc cc cc 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 55 48 89 e5 41 54 53 \u003c83\u003e bf f8 11 00 00 02 75 61 41 89 f4 85 f6 74 52 48 8b 47 08 48 89\n  RSP: 0018:ffffc9000f7c39b8 EFLAGS: 00010202\n  RAX: ffffffffa04d8660 RBX: ffff88813e3e4000 RCX: 0000000000000000\n  RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000\n  RBP: ffffc9000f7c39c8 R08: 0000000000000000 R09: 0000000000000000\n  R10: 0000000000000000 R11: 0000000000000000 R12: ffff888101a48800\n  R13: ffff88813e3e4150 R14: ffff888130d0d008 R15: ffff88813e3e40d0\n  FS:  00007877d3d0d940(0000) GS:ffff88890b6d3000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  CR2: 00000000000011f8 CR3: 000000015a762000 CR4: 0000000000f52ef0\n  PKRU: 55555554\n  Call Trace:\n   \u003cTASK\u003e\n   xe_vfio_pci_reset_done+0x49/0x120 [xe_vfio_pci]\n   pci_dev_restore+0x3b/0x80\n   pci_reset_function+0x109/0x140\n   reset_store+0x5c/0xb0\n   dev_attr_store+0x17/0x40\n   sysfs_kf_write+0x72/0x90\n   kernfs_fop_write_iter+0x161/0x1f0\n   vfs_write+0x261/0x440\n   ksys_write+0x69/0xf0\n   __x64_sys_write+0x19/0x30\n   x64_sys_call+0x259/0x26e0\n   do_syscall_64+0xcb/0x1500\n   ? __fput+0x1a2/0x2d0\n   ? fput_close_sync+0x3d/0xa0\n   ? __x64_sys_close+0x3e/0x90\n   ? x64_sys_call+0x1b7c/0x26e0\n   ? do_syscall_64+0x109/0x1500\n   ? __task_pid_nr_ns+0x68/0x100\n   ? __do_sys_getpid+0x1d/0x30\n   ? x64_sys_call+0x10b5/0x26e0\n   ? do_syscall_64+0x109/0x1500\n   ? putname+0x41/0x90\n   ? do_faccessat+0x1e8/0x300\n   ? __x64_sys_access+0x1c/0x30\n   ? x64_sys_call+0x1822/0x26e0\n   ? do_syscall_64+0x109/0x1500\n   ? tick_program_event+0x43/0xa0\n   ? hrtimer_interrupt+0x126/0x260\n   ? irqentry_exit+0xb2/0x710\n   entry_SYSCALL_64_after_hwframe+0x76/0x7e\n  RIP: 0033:0x7877d5f1c5a4\n  Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d a5 ea 0e 00 00 74 13 b8 01 00 00 00 0f 05 \u003c48\u003e 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89\n  RSP: 002b:00007fff48e5f908 EFLAGS: 00000202 ORIG_RAX: 0000000000000001\n  RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007877d5f1c5a4\n  RDX: 0000000000000001 RSI: 00007877d621b0c9 RDI: 0000000000000009\n  RBP: 0000000000000001 R08: 00005fb49113b010 R09: 0000000000000007\n  R10: 0000000000000000 R11: 0000000000000202 R12: 00007877d621b0c9\n  R13: 0000000000000009 R14: 00007fff48e5fac0 R15: 00007fff48e5fac0\n   \u003c/TASK\u003e\n\nThis is caused by the fact that some of the xe_vfio_pci_core_device\nmembers needed for handling reset are only initialized as part of\nmigration init.\n\nFix the problem by reorganizing the code to decouple VF init from\nmigration init.","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":"vfio/xe: Reorganize the init to decouple migration from reset","id":"CVE-2026-31601","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":"linux:linux_kernel","products":["linux:linux_kernel"],"type":"null_dereference","year":"2026"},"n_packages":0,"n_references":3,"next":{"headline":"ALSA: ctxfi: Limit PTP to a single page","id":"CVE-2026-31602"},"packages":[],"prev":{"headline":"arm64: mm: Handle invalid large leaf mappings correctly","id":"CVE-2026-31600"},"products":["Linux"],"published":"2026-04-24","related":[{"cvss_score":8.8,"headline":"Linux Kernel Out-of-Bounds Write","id":"CVE-2026-53266","kev_date_added":"2026-09-18","published":"2026-06-25"},{"cvss_score":8.8,"headline":"Linux Kernel Improper Input Validation","id":"CVE-2013-6282","kev_date_added":"2022-09-15","published":"2013-11-19"},{"cvss_score":8.4,"headline":"Linux Kernel Heap-Based Buffer Overflow","id":"CVE-2022-0185","kev_date_added":"2024-08-21","published":"2022-02-11"},{"cvss_score":8.4,"headline":"Linux Kernel Privilege Escalation","id":"CVE-2013-2094","kev_date_added":"2022-09-15","published":"2013-05-14"},{"cvss_score":7.8,"headline":"Linux Kernel Unspecified","id":"CVE-2026-53362","kev_date_added":"2026-08-27","published":"2026-07-04"},{"cvss_score":7.8,"headline":"Linux Kernel Missing Initialization of a Variable","id":"CVE-2026-46300","kev_date_added":"2026-10-28","published":"2026-05-23"},{"cvss_score":7.8,"headline":"Linux Kernel Race Condition","id":"CVE-2025-39964","kev_date_added":"2026-09-18","published":"2025-10-13"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-06-14","vendors":["Linux"]},"summary":"A null pointer dereference in the Linux kernel's VFIO/xe driver causes a system crash when resetting unsupported virtual functions.","url":"https://insights.sbomify.com/CVE-2026-31601/"}