CVE-2024-36881 mm/userfaultfd: reset ptes when close() for wr-protected ones

Medium 5.5 Published Updated

The Linux kernel failed to reset write-protect bits on close, causing harmless leftover state and potential warnings in page table checks.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-36881?

CVE-2024-36881 is a medium-severity vulnerability in Linux kernel, published on 30 May 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

mm/userfaultfd: reset ptes when close() for wr-protected ones

Userfaultfd unregister includes a step to remove wr-protect bits from all the relevant pgtable entries, but that only covered an explicit UFFDIO_UNREGISTER ioctl, not a close() on the userfaultfd itself. Cover that too. This fixes a WARN trace.

The only user visible side effect is the user can observe leftover wr-protect bits even if the user close()ed on an userfaultfd when releasing the last reference of it. However hopefully that should be harmless, and nothing bad should happen even if so.

This change is now more important after the recent page-table-check patch we merged in mm-unstable (446dd9ad37d0 ("mm/page_table_check: support userfault wr-protect entries")), as we'll do sanity check on uffd-wp bits without vma context. So it's better if we can 100% guarantee no uffd-wp bit leftovers, to make sure each report will be valid.

Which versions are affected by CVE-2024-36881?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-36881?

Apply the vendor's patch.

Is CVE-2024-36881 being exploited?

There is no known exploitation of CVE-2024-36881 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-36881, DEBIAN-CVE-2024-36881, ROOT-OS-DEBIAN-12-CVE-2024-36881, UBUNTU-CVE-2024-36881.

Is CVE-2024-36881 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free