{ "schema_version": "1.4.0", "id": "GHSA-qpjr-ch72-2qq4", "modified": "2023-06-13T20:35:06Z", "published": "2021-08-25T20:45:17Z", "aliases": [ "CVE-2019-16881" ], "summary": "Use after free in portaudio-rs", "details": "Affected versions of this crate is not panic safe within callback functions stream_callback and stream_finished_callback. The call to user-provided closure might panic before a mem::forget call, which then causes a use after free that grants attacker to control the callback function pointer. This allows an attacker to construct an arbitrary code execution .", "severity": [ { "type": "CVSS_V3", "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" } ], "affected": [ { "package": { "ecosystem": "crates.io", "name": "portaudio-rs" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "0.3.2" } ] } ] } ], "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2019-16881" }, { "type": "WEB", "url": "https://github.com/mvdnes/portaudio-rs/issues/20" }, { "type": "WEB", "url": "https://github.com/mvdnes/portaudio-rs/commit/7466df019f6739732fd91401017942c22364ef61" }, { "type": "PACKAGE", "url": "https://github.com/mvdnes/portaudio-rs" }, { "type": "WEB", "url": "https://rustsec.org/advisories/RUSTSEC-2019-0022.html" } ], "database_specific": { "cwe_ids": [ "CWE-416" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2021-08-19T21:21:17Z", "nvd_published_at": null } }