{"id":"DEBIAN-CVE-2021-46988","details":"In the Linux kernel, the following vulnerability has been resolved:  userfaultfd: release page in error path to avoid BUG_ON  Consider the following sequence of events:  1. Userspace issues a UFFD ioctl, which ends up calling into    shmem_mfill_atomic_pte(). We successfully account the blocks, we    shmem_alloc_page(), but then the copy_from_user() fails. We return    -ENOENT. We don't release the page we allocated. 2. Our caller detects this error code, tries the copy_from_user() after    dropping the mmap_lock, and retries, calling back into    shmem_mfill_atomic_pte(). 3. Meanwhile, let's say another process filled up the tmpfs being used. 4. So shmem_mfill_atomic_pte() fails to account blocks this time, and    immediately returns - without releasing the page.  This triggers a BUG_ON in our caller, which asserts that the page should always be consumed, unless -ENOENT is returned.  To fix this, detect if we have such a \"dangling\" page when accounting fails, and if so, release it before returning.","modified":"2026-09-15T09:02:34.898970803Z","published":"2024-02-28T09:15:37.640Z","upstream":["CVE-2021-46988"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2021-46988"}],"affected":[{"package":{"name":"linux","ecosystem":"Debian:12","purl":"pkg:deb/debian/linux?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.38-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2021-46988.json"}},{"package":{"name":"linux","ecosystem":"Debian:13","purl":"pkg:deb/debian/linux?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.38-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2021-46988.json"}},{"package":{"name":"linux","ecosystem":"Debian:14","purl":"pkg:deb/debian/linux?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.10.38-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2021-46988.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}