Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-35804— KVM: x86: Mark target gfn of emulated atomic instruction as dirty

EPSS 0.02% · P5
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-35804

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
KVM: x86: Mark target gfn of emulated atomic instruction as dirty
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Mark target gfn of emulated atomic instruction as dirty When emulating an atomic access on behalf of the guest, mark the target gfn dirty if the CMPXCHG by KVM is attempted and doesn't fault. This fixes a bug where KVM effectively corrupts guest memory during live migration by writing to guest memory without informing userspace that the page is dirty. Marking the page dirty got unintentionally dropped when KVM's emulated CMPXCHG was converted to do a user access. Before that, KVM explicitly mapped the guest page into kernel memory, and marked the page dirty during the unmap phase. Mark the page dirty even if the CMPXCHG fails, as the old data is written back on failure, i.e. the page is still written. The value written is guaranteed to be the same because the operation is atomic, but KVM's ABI is that all writes are dirty logged regardless of the value written. And more importantly, that's what KVM did before the buggy commit. Huge kudos to the folks on the Cc list (and many others), who did all the actual work of triaging and debugging. base-commit: 6769ea8da8a93ed4630f1ce64df6aafcaabfce64
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于即使 CMPXCHG 失败,也会将页面标记为脏,因为旧数据会在失败时写回,即页面仍会写入。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux d97c0667c1e61ded6639117b4b9584a9c12b7e66 ~ a9bd6bb6f02bf7132c1ab192ba62bbfa52df7d66 -
LinuxLinux 5.19 -

II. Public POCs for CVE-2024-35804

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-35804

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-05-17 · 135 CVEs total

CVE-2024-35834xsk: recycle buffer in case Rx queue was full
CVE-2023-52686powerpc/powernv: Add a null pointer check in opal_event_init()
CVE-2023-52684firmware: qcom: qseecom: fix memory leaks in error paths
CVE-2023-52683ACPI: LPIT: Avoid u32 multiplication overflow
CVE-2023-52682f2fs: fix to wait on block writeback for post_read case
CVE-2023-52681efivarfs: Free s_fs_info on unmount
CVE-2023-52680ALSA: scarlett2: Add missing error checks to *_ctl_get()
CVE-2023-52679of: Fix double free in of_parse_phandle_with_args_map
CVE-2023-52678drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c
CVE-2023-52677riscv: Check if the code to patch lies in the exit section
CVE-2023-52676bpf: Guard stack limits against 32bit overflow
CVE-2023-52675powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
CVE-2023-52674ALSA: scarlett2: Add clamp() in scarlett2_mixer_ctl_put()
CVE-2024-35838wifi: mac80211: fix potential sta-link leak
CVE-2024-35837net: mvpp2: clear BM pool before initialization
CVE-2024-35836dpll: fix pin dump crash for rebound module
CVE-2024-35835net/mlx5e: fix a double-free in arfs_create_groups
CVE-2023-52664net: atlantic: eliminate double free in error handling logic
CVE-2024-35830media: tc358743: register v4l2 async device only after successful setup
CVE-2024-35831io_uring: Fix release of pinned pages when __io_uaddr_map fails

Showing top 20 of 135 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2024-35804

No comments yet


Leave a comment