In DCE/RPC it is possible to share the handles (cookies for resource state) between multiple connections via a mechanism called 'association groups'. These handles can reference connections to our sam.ldb database. However while the database was correctly shared, the user credentials state was only pointed at, and when one connection within that association group ended, the database would be left pointing at an invalid 'struct session_info'. The most likely outcome here is a crash, but it is possible that the use-after-free could instead allow different user state to be pointed at and this might allow more privileged access.
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Link | Tags |
---|---|
https://www.samba.org/samba/security/CVE-2021-3738.html | vendor advisory |
https://bugzilla.samba.org/show_bug.cgi?id=14468 | issue tracking patch vendor advisory |
https://bugzilla.redhat.com/show_bug.cgi?id=2021726 | issue tracking third party advisory |
https://security.gentoo.org/glsa/202309-06 | vendor advisory |