mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
- 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
- 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: mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0) If an mremap() syscall with old_size=0 ends up in move_page_tables(), it will call invalidate_range_start()/invalidate_range_end() unnecessarily, i.e. with an empty range. This causes a WARN in KVM's mmu_notifier. In the past, empty ranges have been diagnosed to be off-by-one bugs, hence the WARNing. Given the low (so far) number of unique reports, the benefits of detecting more buggy callers seem to outweigh the cost of having to fix cases such as this one, where userspace is doing something silly. In this particular case, an early return from move_page_tables() is enough to fix the issue.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
3.2
References 9
git.kernel.org
- stable/c/a05540f3903bd8295e8c4cd90dd3d416239a115b
- stable/c/eeaf28e2a0128147d687237e59d5407ee1b14693
- stable/c/e2c328c2a8f9de8b761bd4025b66c63120c55761
- stable/c/c19d8de4e682ec4b0ea2b04a832cd8cc0be3bb31
- stable/c/7d659cb1763ff17d1c6ee082fa6feb4267c7a30b
- stable/c/a04cb99c5d4668fe3f5c0e5b6da1cecd34c3f219
- stable/c/2358aa84ef6dafcf544a557caaa6b91afb4a0bd2
- stable/c/04bc13dae4a27b8d030843c85ae452bb2f1d9c1f
- stable/c/01e67e04c28170c47700c2c226d732bbfedb1ad0