c-ares is an asynchronous resolver library. From ver 1.32.3 until 1.34.7, a use-after-free / double-free in c-ares query-completion handling. The same flaw — a querys callback being invoked while the query is still linked in the channels internal lookup structures — is present at multiple points in the resend/finish path (timeout handling, response handling, and query dispatch). If the query, or for ares_getaddrinfo() the owning host_query, is freed as a side effect of that callback, it is then accessed and/or freed a second time. This vulnerability is fixed in ver 1.34.7.
The product calls free() twice on the same memory address.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Red Hat Enterprise Linux 10 | RedHat | c-ares-0:1.34.6-2.el10_2 | * |
| Red Hat Hardened Images | RedHat | c-ares-main-1.34.7-1.hum1 | * |
| C-ares | Ubuntu | questing | * |
| C-ares | Ubuntu | upstream | * |