An internal reference count is held on the buffer pool,...
Critical severity
Unreviewed
Published
Sep 25, 2022
to the GitHub Advisory Database
•
Updated Jun 1, 2023
Description
Published by the National Vulnerability Database
Sep 23, 2022
Published to the GitHub Advisory Database
Sep 25, 2022
Last updated
Jun 1, 2023
An internal reference count is held on the buffer pool, incremented every time a new buffer is created from the pool. The reference count is maintained as an int; on LP64 systems this can cause the reference count to overflow if the client creates a large number of wl_shm buffer objects, or if it can coerce the server to create a large number of external references to the buffer storage. With the reference count overflowing, a use-after-free can be constructed on the wl_shm_pool tracking structure, where values may be incremented or decremented; it may also be possible to construct a limited oracle to leak 4 bytes of server-side memory to the attacking client at a time.
References