ptp: vmclock: prevent read-only mappings from becoming writable
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.47, 6.18.50, 7.1.11, 7.2.1, 7.2.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ptp: vmclock: prevent read-only mappings from becoming writable vmclock_miscdev_mmap() rejects writable mappings of the shared vmclock ABI page with -EROFS, but leaves VM_MAYWRITE set. Userspace can map the page read-only and then upgrade it to writable with mprotect(), after which the guest can corrupt the host-written timekeeping data (sequence counter, UTC time, TSC offset) that the vmclock ABI defines as read-only. Clear VM_MAYWRITE on the read-only path so the mapping cannot be upgraded, as i915 does for its read-only objects and as fixed in drm/vc4 (CVE-2026-68445) and drm/panthor (CVE-2024-53071).
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 20503272422693d793b84f88bf23fe4e955d3a33 · fixed in 5b4f2bec7bea6c04084d720d731bedee7caf878d; From 20503272422693d793b84f88bf23fe4e955d3a33 · fixed in 3f5677d2f817355147337f0453174c7bb0f3b66a; From 20503272422693d793b84f88bf23fe4e955d3a33 · fixed in 2496e141827102d6af512950057d402a2cfb2bfc; From 20503272422693d793b84f88bf23fe4e955d3a33 · fixed in 2e596e7814ba38cdc129991058b6c254ed37cb11; From 20503272422693d793b84f88bf23fe4e955d3a33 · fixed in 0ce59c4148ecd1520c5592a63bb3c8991ee2d326; From 20503272422693d793b84f88bf23fe4e955d3a33 · fixed in a5edadbae57e2298a56cf7a4e774a027905a331f
- Linux Linux
6.13
- KernelLinux
From 6.13.0 · fixed in 6.18.47; From 6.19.0 · fixed in 6.18.50; fixed in 7.1.11; From 7.2.0 · fixed in 7.2.1; From 7.3.0 · fixed in 7.2.4