Use After Free
A use-after-free vulnerability was found in systemd versions prior to 240. This issue occurs due to the "on_stream_io()" function and "dns_stream_complete()" function in "resolved-dns-stream.c" not incrementing the reference counting for the DnsStream object. Therefore, other functions and callbacks called can dereference the DNSStream object, causing the use-after-free when the reference is still used later.
CWE-416 - Use After Free
Use-after-free (UaF) vulnerability occurs when the application is using a pointer to memory that has been freed. Any attempt to read/write to a buffer after it is de-allocated allows memory corruption, sensitive information exposure, and can potentially lead to arbitrary code execution.