A use-after-free vulnerability was found in systemd. This issue occurs due to the onstreamio() function and dnsstreamcomplete() 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.
[
{
"source": "https://github.com/systemd/systemd/commit/d973d94dec349fb676fdd844f6fe2ada3538f27c",
"id": "CVE-2022-2526-0518585b",
"deprecated": false,
"target": {
"function": "on_stream_io",
"file": "src/resolve/resolved-dns-stream.c"
},
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 4329.0,
"function_hash": "208401693791038653337512553355040068330"
}
},
{
"source": "https://github.com/systemd/systemd/commit/d973d94dec349fb676fdd844f6fe2ada3538f27c",
"id": "CVE-2022-2526-3d277f7d",
"deprecated": false,
"target": {
"function": "dns_stream_complete",
"file": "src/resolve/resolved-dns-stream.c"
},
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"length": 358.0,
"function_hash": "165753356205743956457529010201804762870"
}
},
{
"source": "https://github.com/systemd/systemd/commit/d973d94dec349fb676fdd844f6fe2ada3538f27c",
"id": "CVE-2022-2526-7591cea9",
"deprecated": false,
"target": {
"file": "src/resolve/resolved-dns-stream.c"
},
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"24244502987640347669429748297519997487",
"305861172124080797233263628752068476767",
"201898119636995375130900012674839025850",
"243976609872396757423323106453765157402",
"25033070272748089651412234795692720617",
"4749797598595707144303836668512376180",
"102934075727237860555720616686638501394",
"89242042041014859283960974229838224291"
]
}
}
]