{"id":"CVE-2025-48945","state":"PUBLISHED","title":"pycares has a Use-After-Free Vulnerability","description":"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.","publishedAt":"2025-06-20T19:14:27.403Z","updatedAt":"2025-06-20T20:06:23.612Z","severity":{"score":8.2,"label":"High","version":"4.0","vector":"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","source":"GitHub_M"},"assigner":"GitHub_M","products":["aio-libs aiodns"],"affected":[{"vendor":"aio-libs","product":"aiodns","versions":[{"version":"< 4.9.0","status":"affected"}]}],"references":["https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35","https://github.com/aio-libs/aiodns/commit/f259a6e3650555157af53ac2b39f2ff545321d55","https://github.com/saghul/pycares/commit/ebfd7d71eb8e74bc1057a361ea79a5906db510d4","https://github.com/aio-libs/aiodns/releases/tag/v3.5.0","https://github.com/saghul/pycares/releases/tag/v4.9.0"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:09:23.771Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/48xxx/CVE-2025-48945.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2025-48945","state":"PUBLISHED","datePublished":"2025-06-20T19:14:27.403Z","dateUpdated":"2025-06-20T20:06:23.612Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2025-05-28T18:49:07.582Z"},"containers":{"cna":{"title":"pycares has a Use-After-Free Vulnerability","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"aio-libs","product":"aiodns","versions":[{"version":"< 4.9.0","status":"affected"}]}],"references":[{"url":"https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35","name":"https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35","name":"https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35","tags":["x_refsource_MISC"]},{"url":"https://github.com/aio-libs/aiodns/commit/f259a6e3650555157af53ac2b39f2ff545321d55","name":"https://github.com/aio-libs/aiodns/commit/f259a6e3650555157af53ac2b39f2ff545321d55","tags":["x_refsource_MISC"]},{"url":"https://github.com/saghul/pycares/commit/ebfd7d71eb8e74bc1057a361ea79a5906db510d4","name":"https://github.com/saghul/pycares/commit/ebfd7d71eb8e74bc1057a361ea79a5906db510d4","tags":["x_refsource_MISC"]},{"url":"https://github.com/aio-libs/aiodns/releases/tag/v3.5.0","name":"https://github.com/aio-libs/aiodns/releases/tag/v3.5.0","tags":["x_refsource_MISC"]},{"url":"https://github.com/saghul/pycares/releases/tag/v4.9.0","name":"https://github.com/saghul/pycares/releases/tag/v4.9.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.2,"baseSeverity":"HIGH","vectorString":"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","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","description":"CWE-416: Use After Free","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2025-06-20T19:14:27.403Z"},"source":{"advisory":"GHSA-5qpg-rh4j-qp35","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-06-20T20:05:50.595661Z","id":"CVE-2025-48945","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-06-20T20:06:23.612Z"}}]}}}