{"id":"CVE-2025-48945","summary":"pycares has a Use-After-Free Vulnerability","details":"pycares is a Python module which provides an interface to c-ares. c-ares is a C library that performs DNS requests and name resolutions asynchronously. Prior to version 4.9.0, pycares is vulnerable to a use-after-free condition that occurs when a Channel object is garbage collected while DNS queries are still pending. This results in a fatal Python error and interpreter crash. The vulnerability has been fixed in pycares 4.9.0 by implementing a safe channel destruction mechanism.","aliases":["GHSA-5qpg-rh4j-qp35"],"modified":"2026-08-12T03:51:09.605467970Z","published":"2025-06-20T19:14:27.403Z","related":["SUSE-SU-2025:03354-1","openSUSE-SU-2025:15324-1"],"database_specific":{"cwe_ids":["CWE-416"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48945.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/aio-libs/aiodns/releases/tag/v3.5.0"},{"type":"WEB","url":"https://github.com/saghul/pycares/releases/tag/v4.9.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48945.json"},{"type":"ADVISORY","url":"https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-48945"},{"type":"FIX","url":"https://github.com/aio-libs/aiodns/commit/f259a6e3650555157af53ac2b39f2ff545321d55"},{"type":"FIX","url":"https://github.com/saghul/pycares/commit/ebfd7d71eb8e74bc1057a361ea79a5906db510d4"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/aio-libs/aiodns","events":[{"introduced":"0"},{"fixed":"f259a6e3650555157af53ac2b39f2ff545321d55"},{"fixed":"83533f4d17dd769a5bc0fce6e4c7610b6abde85e"}],"database_specific":{"source":"REFERENCES"}},{"type":"GIT","repo":"https://github.com/saghul/pycares","events":[{"introduced":"0"},{"fixed":"ebfd7d71eb8e74bc1057a361ea79a5906db510d4"},{"fixed":"4c761b47fd5116d5bb5cf46c509e07d8a9d0f99a"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"4.9.0"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v3.4.0","v3.3.0","v3.2.0","v3.1.1","v3.1.0","aiodns-3.0.0","aiodns-2.0.0","aiodns-2.0.0b2","aiodns-2.0.0b1","aiodns-2.0.0b0","aiodns-1.2.0","aiodns-1.1.1","aiodns-1.0.1","aiodns-1.0.0","aiodns-0.3.2","aiodns-0.3.1","aiodns-0.3.0","aiodns-0.2.0","aiodns-0.1.0","v4.8.0","v4.7.0","v4.6.1","v4.6.0","v4.5.0","v4.4.0","pycares-4.3.0","pycares-4.2.2","pycares-4.2.1","pycares-4.2.0","pycares-4.1.2","pycares-4.1.1","pycares-4.1.0","pycares-4.0.0","pycares-3.2.3","pycares-3.2.2","pycares-3.2.1","pycares-3.2.0","pycares-3.1.1","pycares-3.1.0-fix3","pycares-3.1.0-fix2","pycares-3.1.0-fix1","pycares-3.1.0","pycares-3.0.0","pycares-3.0.0b5","pycares-3.0.0b4","pycares-3.0.0b3","pycares-3.0.0b2","pycares-3.0.0b1","pycares-3.0.0b0","pycares-2.4.0","pycares-2.3.0","pycares-2.2.0","pycares-2.1.1","pycares-2.1.0","pycares-2.0.1","pycares-2.0.0","pycares-1.0.0","pycares-0.7.0","pycares-0.6.3","pycares-0.6.2","pycares-0.6.1","pycares-0.6.0","release-0.5.0","release-0.4.0","release-0.3.0","release-0.2.0","release-0.1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-48945.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}]}