{"id":"CVE-2017-8246","aliases":["EUVD-2017-17208","GHSA-qx82-prw3-cr2g"],"status":"published","title":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel,...","description":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel, prtd is assigned substream-\u003eruntime-\u003eprivate_data. Later, prtd is freed. However, prtd is not sanitized and set to NULL, resulting in a dangling pointer. There are other functions that access the same memory (substream-\u003eruntime-\u003eprivate_data) with a NULL check, such as msm_pcm_volume_ctl_put(), which means this freed memory could be used.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.00173,"percentile":0.06812,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-416"],"published":"2017-05-12T20:00:00Z","modified":"2026-06-17T01:26:02Z","products":[{"vendor":"google","product":"android"},{"vendor":"qualcomm, inc.","product":"android for msm, firefox os for msm, qrd android"}],"references":[{"url":"https://source.android.com/security/bulletin/2017-07-01","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory"]},{"url":"https://www.codeaurora.org/use-after-free-alsa-pcm-playback-kernel-module-cve-2017-8246","tags":["x_refsource_CONFIRM","x_transferred","Broken Link"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-8246"},{"url":"https://github.com/advisories/GHSA-qx82-prw3-cr2g"}],"sources":{"cve":[{"id":"CVE-2017-8246","description":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel, prtd is assigned substream-\u003eruntime-\u003eprivate_data. Later, prtd is freed. However, prtd is not sanitized and set to NULL, resulting in a dangling pointer. There are other functions that access the same memory (substream-\u003eruntime-\u003eprivate_data) with a NULL check, such as msm_pcm_volume_ctl_put(), which means this freed memory could be used.","status":"published","published":"2017-05-12T20:00:00Z","modified":"2024-08-05T16:27:23.233Z","updated_at":"2026-11-02T14:33:14.89365Z"}],"euvd":[{"id":"EUVD-2017-17208","description":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel, prtd is assigned substream-\u003eruntime-\u003eprivate_data. Later, prtd is freed. However, prtd is not sanitized and set to NULL, resulting in a dangling pointer. There are other functions that access the same memory (substream-\u003eruntime-\u003eprivate_data) with a NULL check, such as msm_pcm_volume_ctl_put(), which means this freed memory could be used.","status":"published","published":"2017-05-12T20:00:00Z","modified":"2024-08-05T16:27:23Z","updated_at":"2026-11-03T02:39:05.933017Z"}],"ghsa":[{"id":"GHSA-qx82-prw3-cr2g","title":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel,...","description":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel, prtd is assigned substream-\u003eruntime-\u003eprivate_data. Later, prtd is freed. However, prtd is not sanitized and set to NULL, resulting in a dangling pointer. There are other functions that access the same memory (substream-\u003eruntime-\u003eprivate_data) with a NULL check, such as msm_pcm_volume_ctl_put(), which means this freed memory could be used.","status":"published","published":"2022-05-13T01:13:44Z","modified":"2023-02-01T05:04:20Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:50:08.898362Z"}],"nvd":[{"id":"CVE-2017-8246","description":"In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel, prtd is assigned substream-\u003eruntime-\u003eprivate_data. Later, prtd is freed. However, prtd is not sanitized and set to NULL, resulting in a dangling pointer. There are other functions that access the same memory (substream-\u003eruntime-\u003eprivate_data) with a NULL check, such as msm_pcm_volume_ctl_put(), which means this freed memory could be used.","status":"published","published":"2017-05-12T20:29:00.437Z","modified":"2026-06-17T01:26:02.45Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":4.6,"vector":"AV:L/AC:L/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:03:47.848196Z"}]}}
