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.
Metrics
Affected Vendors & Products
References
History
No history.
MITRE
Status: PUBLISHED
Assigner: redhat
Published: 2022-09-23T15:26:59
Updated: 2024-08-03T17:09:08.931Z
Reserved: 2021-09-09T00:00:00
Link: CVE-2021-3782
Vulnrichment
No data.
NVD
Status : Modified
Published: 2022-09-23T16:15:10.143
Modified: 2024-11-21T06:22:25.027
Link: CVE-2021-3782
Redhat