{"id":"UBUNTU-CVE-2025-48945","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.","modified":"2026-05-20T16:23:32.516317212Z","published":"2025-06-20T20:15:00Z","upstream":["CVE-2025-48945"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2025-48945"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2025-48945"},{"type":"REPORT","url":"https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35"}],"affected":[{"package":{"name":"pycares","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/pycares?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.1-2build2"],"ecosystem_specific":{"binaries":[{"binary_version":"2.1.1-2build2","binary_name":"python-pycares"},{"binary_version":"2.1.1-2build2","binary_name":"python3-pycares"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48945.json"}},{"package":{"name":"pycares","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/pycares?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.1-2build4","2.1.1-2build5","2.1.1-2.1","3.1.0-3","3.1.0-4","3.1.1-1","3.1.1-1build1"],"ecosystem_specific":{"binaries":[{"binary_version":"3.1.1-1build1","binary_name":"python3-pycares"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48945.json"}},{"package":{"name":"pycares","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/pycares?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.1-1build3","3.1.1-1build5","4.1.2-2","4.1.2-2build1"],"ecosystem_specific":{"binaries":[{"binary_version":"4.1.2-2build1","binary_name":"python3-pycares"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48945.json"}},{"package":{"name":"pycares","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/pycares?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.3.0-2","4.3.0-2build1","4.4.0-1","4.4.0-1build1","4.4.0-1build2"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pycares","binary_version":"4.4.0-1build2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48945.json"}},{"package":{"name":"pycares","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/pycares?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.4.0-2build2"],"ecosystem_specific":{"binaries":[{"binary_version":"4.4.0-2build2","binary_name":"python3-pycares"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48945.json"}},{"package":{"name":"pycares","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/pycares?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.4.0-2build2","4.4.0-2build3","4.9.0-1","5.0.0-2","5.0.1-2","5.0.1-3"],"ecosystem_specific":{"binaries":[{"binary_version":"5.0.1-3","binary_name":"python3-pycares"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-48945.json"}}],"schema_version":"1.7.5","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"},{"type":"Ubuntu","score":"medium"}]}