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.
History

No history.

cve-icon 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

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2022-09-23T16:15:10.143

Modified: 2023-11-07T03:38:15.833

Link: CVE-2021-3782

cve-icon Redhat

Severity : Moderate

Publid Date: 2022-07-30T16:05:00Z

Links: CVE-2021-3782 - Bugzilla