CVE-2025-40274 (GCVE-0-2025-40274)

Vulnerability from cvelistv5 – Published: 2025-12-06 21:50 – Updated: 2026-08-05 12:09
VLAI
Title
KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying
Summary
In the Linux kernel, the following vulnerability has been resolved: KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying When unbinding a memslot from a guest_memfd instance, remove the bindings even if the guest_memfd file is dying, i.e. even if its file refcount has gone to zero. If the memslot is freed before the file is fully released, nullifying the memslot side of the binding in kvm_gmem_release() will write to freed memory, as detected by syzbot+KASAN: ================================================================== BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353 Write of size 8 at addr ffff88807befa508 by task syz.0.17/6022 CPU: 0 UID: 0 PID: 6022 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Call Trace: <TASK> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x240 mm/kasan/report.c:482 kasan_report+0x118/0x150 mm/kasan/report.c:595 kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353 __fput+0x44c/0xa70 fs/file_table.c:468 task_work_run+0x1d4/0x260 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xe9/0x130 kernel/entry/common.c:43 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline] do_syscall_64+0x2bd/0xfa0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fbeeff8efc9 </TASK> Allocated by task 6023: kasan_save_stack mm/kasan/common.c:56 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:77 poison_kmalloc_redzone mm/kasan/common.c:397 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:414 kasan_kmalloc include/linux/kasan.h:262 [inline] __kmalloc_cache_noprof+0x3e2/0x700 mm/slub.c:5758 kmalloc_noprof include/linux/slab.h:957 [inline] kzalloc_noprof include/linux/slab.h:1094 [inline] kvm_set_memory_region+0x747/0xb90 virt/kvm/kvm_main.c:2104 kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154 kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 6023: kasan_save_stack mm/kasan/common.c:56 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:77 kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:252 [inline] __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:284 kasan_slab_free include/linux/kasan.h:234 [inline] slab_free_hook mm/slub.c:2533 [inline] slab_free mm/slub.c:6622 [inline] kfree+0x19a/0x6d0 mm/slub.c:6829 kvm_set_memory_region+0x9c4/0xb90 virt/kvm/kvm_main.c:2130 kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154 kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Deliberately don't acquire filemap invalid lock when the file is dying as the lifecycle of f_mapping is outside the purview of KVM. Dereferencing the mapping is *probably* fine, but there's no need to invalidate anything as memslot deletion is responsible for zapping SPTEs, and the only code that can access the dying file is kvm_gmem_release(), whose core code is mutual ---truncated---
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: a7800aa80ea4d5356b8474c2302812e9d4926fa6 , < a8ac2bd0f98e1a230f1eb3260fa552bf2ef1753b (git)
Affected: a7800aa80ea4d5356b8474c2302812e9d4926fa6 , < 393893693a523e053f84d69320d090b93503f79f (git)
Affected: a7800aa80ea4d5356b8474c2302812e9d4926fa6 , < ae431059e75d36170a5ae6b44cc4d06d43613215 (git)
Create a notification for this product.
Linux Linux Affected: 6.8
Unaffected: 0 , < 6.8 (semver)
Unaffected: 6.12.59 , ≤ 6.12.* (semver)
Unaffected: 6.17.9 , ≤ 6.17.* (semver)
Unaffected: 6.18 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "virt/kvm/guest_memfd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a8ac2bd0f98e1a230f1eb3260fa552bf2ef1753b",
              "status": "affected",
              "version": "a7800aa80ea4d5356b8474c2302812e9d4926fa6",
              "versionType": "git"
            },
            {
              "lessThan": "393893693a523e053f84d69320d090b93503f79f",
              "status": "affected",
              "version": "a7800aa80ea4d5356b8474c2302812e9d4926fa6",
              "versionType": "git"
            },
            {
              "lessThan": "ae431059e75d36170a5ae6b44cc4d06d43613215",
              "status": "affected",
              "version": "a7800aa80ea4d5356b8474c2302812e9d4926fa6",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "virt/kvm/guest_memfd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.8"
            },
            {
              "lessThan": "6.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.59",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.59",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.9",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying\n\nWhen unbinding a memslot from a guest_memfd instance, remove the bindings\neven if the guest_memfd file is dying, i.e. even if its file refcount has\ngone to zero.  If the memslot is freed before the file is fully released,\nnullifying the memslot side of the binding in kvm_gmem_release() will\nwrite to freed memory, as detected by syzbot+KASAN:\n\n  ==================================================================\n  BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353\n  Write of size 8 at addr ffff88807befa508 by task syz.0.17/6022\n\n  CPU: 0 UID: 0 PID: 6022 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)\n  Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025\n  Call Trace:\n   \u003cTASK\u003e\n   dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120\n   print_address_description mm/kasan/report.c:378 [inline]\n   print_report+0xca/0x240 mm/kasan/report.c:482\n   kasan_report+0x118/0x150 mm/kasan/report.c:595\n   kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353\n   __fput+0x44c/0xa70 fs/file_table.c:468\n   task_work_run+0x1d4/0x260 kernel/task_work.c:227\n   resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]\n   exit_to_user_mode_loop+0xe9/0x130 kernel/entry/common.c:43\n   exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline]\n   syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline]\n   syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline]\n   do_syscall_64+0x2bd/0xfa0 arch/x86/entry/syscall_64.c:100\n   entry_SYSCALL_64_after_hwframe+0x77/0x7f\n  RIP: 0033:0x7fbeeff8efc9\n   \u003c/TASK\u003e\n\n  Allocated by task 6023:\n   kasan_save_stack mm/kasan/common.c:56 [inline]\n   kasan_save_track+0x3e/0x80 mm/kasan/common.c:77\n   poison_kmalloc_redzone mm/kasan/common.c:397 [inline]\n   __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:414\n   kasan_kmalloc include/linux/kasan.h:262 [inline]\n   __kmalloc_cache_noprof+0x3e2/0x700 mm/slub.c:5758\n   kmalloc_noprof include/linux/slab.h:957 [inline]\n   kzalloc_noprof include/linux/slab.h:1094 [inline]\n   kvm_set_memory_region+0x747/0xb90 virt/kvm/kvm_main.c:2104\n   kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154\n   kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201\n   vfs_ioctl fs/ioctl.c:51 [inline]\n   __do_sys_ioctl fs/ioctl.c:597 [inline]\n   __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583\n   do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n   do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94\n   entry_SYSCALL_64_after_hwframe+0x77/0x7f\n\n  Freed by task 6023:\n   kasan_save_stack mm/kasan/common.c:56 [inline]\n   kasan_save_track+0x3e/0x80 mm/kasan/common.c:77\n   kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584\n   poison_slab_object mm/kasan/common.c:252 [inline]\n   __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:284\n   kasan_slab_free include/linux/kasan.h:234 [inline]\n   slab_free_hook mm/slub.c:2533 [inline]\n   slab_free mm/slub.c:6622 [inline]\n   kfree+0x19a/0x6d0 mm/slub.c:6829\n   kvm_set_memory_region+0x9c4/0xb90 virt/kvm/kvm_main.c:2130\n   kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154\n   kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201\n   vfs_ioctl fs/ioctl.c:51 [inline]\n   __do_sys_ioctl fs/ioctl.c:597 [inline]\n   __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583\n   do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n   do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94\n   entry_SYSCALL_64_after_hwframe+0x77/0x7f\n\nDeliberately don\u0027t acquire filemap invalid lock when the file is dying as\nthe lifecycle of f_mapping is outside the purview of KVM.  Dereferencing\nthe mapping is *probably* fine, but there\u0027s no need to invalidate anything\nas memslot deletion is responsible for zapping SPTEs, and the only code\nthat can access the dying file is kvm_gmem_release(), whose core code is\nmutual\n---truncated---"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached exclusively through local ioctls on /dev/kvm (KVM_CREATE_GUEST_MEMFD, KVM_SET_USER_MEMORY_REGION2) plus close() on the guest_memfd descriptor. A guest cannot trigger it and there is no network path.\nAC:L - The attacker controls both sides of the race with two of its own threads, and can hold slots_lock across the multi-millisecond synchronize_srcu_expedited() in kvm_invalidate_memslot() so the closing thread\u0027s kvm_gmem_release() is guaranteed to be stalled until after the memslot is kfree()d. syzbot produced a working reproducer and confirmed the fix.\nPR:L - Only an open file descriptor on /dev/kvm is needed \u2014 KVM performs no capability check for KVM_CREATE_VM, KVM_CREATE_GUEST_MEMFD, or memslot ioctls, and guest_memfd is enabled unconditionally on x86_64 for plain default VM types. /dev/kvm is routinely granted to unprivileged users/groups on desktops, CI, container hosts, Android/ChromeOS and nested-virt cloud instances.\nUI:N - The attacking process performs every step itself (create VM, create gmem, bind memslot, race close with slot deletion); no victim action or interaction is required.\nS:U - The attacker is host userspace corrupting host kernel memory, so this is standard local kernel privilege escalation within a single security authority rather than a guest-to-host escape or IOMMU boundary bypass.\nC:H - The stale binding leaves a dangling kvm_memory_slot pointer that kvm_gmem_release() reads and feeds into the MMU zap path, dereferencing slot-\u003earch.rmap[] from attacker-reallocated slab contents; such a use-after-free gives control of freed object contents and can be leveraged into arbitrary kernel memory disclosure.\nI:H - kvm_gmem_release() performs a use-after-free write (WRITE_ONCE(slot-\u003egmem.file, NULL)) at a fixed offset into a freed kmalloc-cg object the attacker can reallocate by spraying, and the subsequent rmap zapping writes through attacker-influenced pointers, yielding a write primitive suitable for privilege escalation.\nA:H - The use-after-free write plus dereference of a freed memslot inside the KVM MMU reliably corrupts kernel state and panics/oopses the host (KASAN slab-use-after-free), and it can be re-triggered at will."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:09:07.765Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a8ac2bd0f98e1a230f1eb3260fa552bf2ef1753b"
        },
        {
          "url": "https://git.kernel.org/stable/c/393893693a523e053f84d69320d090b93503f79f"
        },
        {
          "url": "https://git.kernel.org/stable/c/ae431059e75d36170a5ae6b44cc4d06d43613215"
        }
      ],
      "title": "KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-40274",
    "datePublished": "2025-12-06T21:50:56.832Z",
    "dateReserved": "2025-04-16T07:20:57.184Z",
    "dateUpdated": "2026-08-05T12:09:07.765Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-40274",
      "date": "2026-08-07",
      "epss": "0.00134",
      "percentile": "0.03296"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-40274\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-06T22:15:55.163\",\"lastModified\":\"2026-07-30T06:24:25.377\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nKVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying\\n\\nWhen unbinding a memslot from a guest_memfd instance, remove the bindings\\neven if the guest_memfd file is dying, i.e. even if its file refcount has\\ngone to zero.  If the memslot is freed before the file is fully released,\\nnullifying the memslot side of the binding in kvm_gmem_release() will\\nwrite to freed memory, as detected by syzbot+KASAN:\\n\\n  ==================================================================\\n  BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353\\n  Write of size 8 at addr ffff88807befa508 by task syz.0.17/6022\\n\\n  CPU: 0 UID: 0 PID: 6022 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)\\n  Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025\\n  Call Trace:\\n   \u003cTASK\u003e\\n   dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120\\n   print_address_description mm/kasan/report.c:378 [inline]\\n   print_report+0xca/0x240 mm/kasan/report.c:482\\n   kasan_report+0x118/0x150 mm/kasan/report.c:595\\n   kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353\\n   __fput+0x44c/0xa70 fs/file_table.c:468\\n   task_work_run+0x1d4/0x260 kernel/task_work.c:227\\n   resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]\\n   exit_to_user_mode_loop+0xe9/0x130 kernel/entry/common.c:43\\n   exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline]\\n   syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline]\\n   syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline]\\n   do_syscall_64+0x2bd/0xfa0 arch/x86/entry/syscall_64.c:100\\n   entry_SYSCALL_64_after_hwframe+0x77/0x7f\\n  RIP: 0033:0x7fbeeff8efc9\\n   \u003c/TASK\u003e\\n\\n  Allocated by task 6023:\\n   kasan_save_stack mm/kasan/common.c:56 [inline]\\n   kasan_save_track+0x3e/0x80 mm/kasan/common.c:77\\n   poison_kmalloc_redzone mm/kasan/common.c:397 [inline]\\n   __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:414\\n   kasan_kmalloc include/linux/kasan.h:262 [inline]\\n   __kmalloc_cache_noprof+0x3e2/0x700 mm/slub.c:5758\\n   kmalloc_noprof include/linux/slab.h:957 [inline]\\n   kzalloc_noprof include/linux/slab.h:1094 [inline]\\n   kvm_set_memory_region+0x747/0xb90 virt/kvm/kvm_main.c:2104\\n   kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154\\n   kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201\\n   vfs_ioctl fs/ioctl.c:51 [inline]\\n   __do_sys_ioctl fs/ioctl.c:597 [inline]\\n   __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583\\n   do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\\n   do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94\\n   entry_SYSCALL_64_after_hwframe+0x77/0x7f\\n\\n  Freed by task 6023:\\n   kasan_save_stack mm/kasan/common.c:56 [inline]\\n   kasan_save_track+0x3e/0x80 mm/kasan/common.c:77\\n   kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584\\n   poison_slab_object mm/kasan/common.c:252 [inline]\\n   __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:284\\n   kasan_slab_free include/linux/kasan.h:234 [inline]\\n   slab_free_hook mm/slub.c:2533 [inline]\\n   slab_free mm/slub.c:6622 [inline]\\n   kfree+0x19a/0x6d0 mm/slub.c:6829\\n   kvm_set_memory_region+0x9c4/0xb90 virt/kvm/kvm_main.c:2130\\n   kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154\\n   kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201\\n   vfs_ioctl fs/ioctl.c:51 [inline]\\n   __do_sys_ioctl fs/ioctl.c:597 [inline]\\n   __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583\\n   do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\\n   do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94\\n   entry_SYSCALL_64_after_hwframe+0x77/0x7f\\n\\nDeliberately don\u0027t acquire filemap invalid lock when the file is dying as\\nthe lifecycle of f_mapping is outside the purview of KVM.  Dereferencing\\nthe mapping is *probably* fine, but there\u0027s no need to invalidate anything\\nas memslot deletion is responsible for zapping SPTEs, and the only code\\nthat can access the dying file is kvm_gmem_release(), whose core code is\\nmutual\\n---truncated---\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"virt/kvm/guest_memfd.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"a7800aa80ea4d5356b8474c2302812e9d4926fa6\",\"lessThan\":\"a8ac2bd0f98e1a230f1eb3260fa552bf2ef1753b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a7800aa80ea4d5356b8474c2302812e9d4926fa6\",\"lessThan\":\"393893693a523e053f84d69320d090b93503f79f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a7800aa80ea4d5356b8474c2302812e9d4926fa6\",\"lessThan\":\"ae431059e75d36170a5ae6b44cc4d06d43613215\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"virt/kvm/guest_memfd.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.8\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.8\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.59\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.17.9\",\"lessThanOrEqual\":\"6.17.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/393893693a523e053f84d69320d090b93503f79f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a8ac2bd0f98e1a230f1eb3260fa552bf2ef1753b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ae431059e75d36170a5ae6b44cc4d06d43613215\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:19:52+00:00",
      "cve": "CVE-2025-40274",
      "id": "CVE-2025-40274",
      "initial_release_date": "2025-12-06T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-40274.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T00:32:23Z",
      "cve": "CVE-2025-40274",
      "id": "CVE-2025-40274",
      "initial_release_date": "2025-12-08T00:23:17Z",
      "product_status:first_fixed": "2",
      "product_status:known_affected": "490",
      "product_status:known_not_affected": "266",
      "product_status:recommended": "307",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2025-40274",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2025-40274.json",
      "version": "39"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…