tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper()
- 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
- Fix or patch referenced
- 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: tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper() tee_dyn_shm_alloc_helper() derives nr_pages from a caller-supplied size and passes it to alloc_pages_exact() without checking it. For size == 0 nr_pages is 0, and alloc_pages_exact(0) calls get_order(0), which is documented as undefined and returns BITS_PER_LONG - PAGE_SHIFT. The page allocator then trips its order > MAX_PAGE_ORDER warning and fails the allocation; on a panic_on_warn kernel that ends the boot. This can be triggered by TEE_IOC_SHM_ALLOC with struct tee_ioctl_shm_alloc_data where size is 0. Reject a zero page count, as register_shm_helper() already does for the register path.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- Linux Linux
From cf4441503e20a0c0a36e0a98dcf57de3d3844c91 · fixed in e5dc7af9c3a5373ee7a84959126e7dfa9e4ad50d; From cf4441503e20a0c0a36e0a98dcf57de3d3844c91 · fixed in 65cb86860a80ffc6af897d53f5bd4b1733bca0ec; From cf4441503e20a0c0a36e0a98dcf57de3d3844c91 · fixed in c2a97703359e25ec7ef8b2b0ef32fb3982add90a; From cf4441503e20a0c0a36e0a98dcf57de3d3844c91 · fixed in b7f925fd5226deb953c8dcdc9677d3fcc2717c00
- Linux Linux
6.10