{"id":"CVE-2015-9157","aliases":["EUVD-2015-9010","GHSA-gwfg-w653-2wxx"],"status":"published","title":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and...","description":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and Snapdragon Wear IPQ4019, MDM9206, MDM9607, MDM9625, MDM9635M, MSM8909W, SD 210/SD 212/SD 205, SD 400, SD 410/12, SD 600, SD 615/16/SD 415, SD 617, SD 650/52, SD 800, SD 808, and SD 810, in widevine_dash_cmd_handler(), rsp buffers are passed off to widevine commands. These rsp buffers have values in them, such as buffer lengths, that need to be validated to ensure that no buffer overflow/over-reads happen. However, rsp buffers are not always in locked memory, meaning a time-of-check, time-of-use issue can occur where we check that the value is valid, but then a race condition occurs where this memory is swapped out with a different, possibly out of range, value.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01094,"percentile":0.65743,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-119","CWE-362"],"published":"2018-04-18T14:00:00Z","modified":"2026-06-17T00:35:54Z","products":[{"vendor":"qualcomm","product":"ipq4019_firmware"},{"vendor":"qualcomm","product":"mdm9206_firmware"},{"vendor":"qualcomm","product":"mdm9607_firmware"},{"vendor":"qualcomm","product":"mdm9625_firmware"},{"vendor":"qualcomm","product":"mdm9635m_firmware"},{"vendor":"qualcomm","product":"msm8909w_firmware"},{"vendor":"qualcomm","product":"sd_205_firmware"},{"vendor":"qualcomm","product":"sd_210_firmware"},{"vendor":"qualcomm","product":"sd_212_firmware"},{"vendor":"qualcomm","product":"sd_400_firmware"},{"vendor":"qualcomm","product":"sd_410_firmware"},{"vendor":"qualcomm","product":"sd_412_firmware"},{"vendor":"qualcomm","product":"sd_415_firmware"},{"vendor":"qualcomm","product":"sd_600_firmware"},{"vendor":"qualcomm","product":"sd_615_firmware"},{"vendor":"qualcomm","product":"sd_616_firmware"},{"vendor":"qualcomm","product":"sd_617_firmware"},{"vendor":"qualcomm","product":"sd_650_firmware"},{"vendor":"qualcomm","product":"sd_652_firmware"},{"vendor":"qualcomm","product":"sd_800_firmware"},{"vendor":"qualcomm","product":"sd_808_firmware"},{"vendor":"qualcomm","product":"sd_810_firmware"},{"vendor":"qualcomm, inc.","product":"snapdragon mobile, snapdragon wear"}],"references":[{"url":"https://source.android.com/security/bulletin/2018-04-01","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory"]},{"url":"http://www.securityfocus.com/bid/103671","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2015-9157"},{"url":"https://github.com/advisories/GHSA-gwfg-w653-2wxx"}],"sources":{"cve":[{"id":"CVE-2015-9157","description":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and Snapdragon Wear IPQ4019, MDM9206, MDM9607, MDM9625, MDM9635M, MSM8909W, SD 210/SD 212/SD 205, SD 400, SD 410/12, SD 600, SD 615/16/SD 415, SD 617, SD 650/52, SD 800, SD 808, and SD 810, in widevine_dash_cmd_handler(), rsp buffers are passed off to widevine commands. These rsp buffers have values in them, such as buffer lengths, that need to be validated to ensure that no buffer overflow/over-reads happen. However, rsp buffers are not always in locked memory, meaning a time-of-check, time-of-use issue can occur where we check that the value is valid, but then a race condition occurs where this memory is swapped out with a different, possibly out of range, value.","status":"published","published":"2018-04-18T14:00:00Z","modified":"2024-09-16T19:00:25.71Z","updated_at":"2026-11-02T14:35:40.591596Z"}],"euvd":[{"id":"EUVD-2015-9010","description":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and Snapdragon Wear IPQ4019, MDM9206, MDM9607, MDM9625, MDM9635M, MSM8909W, SD 210/SD 212/SD 205, SD 400, SD 410/12, SD 600, SD 615/16/SD 415, SD 617, SD 650/52, SD 800, SD 808, and SD 810, in widevine_dash_cmd_handler(), rsp buffers are passed off to widevine commands. These rsp buffers have values in them, such as buffer lengths, that need to be validated to ensure that no buffer overflow/over-reads happen. However, rsp buffers are not always in locked memory, meaning a time-of-check, time-of-use issue can occur where we check that the value is valid, but then a race condition occurs where this memory is swapped out with a different, possibly out of range, value.","status":"published","published":"2018-04-18T14:00:00Z","modified":"2024-09-16T19:00:25Z","updated_at":"2026-11-03T00:55:27.162689Z"}],"ghsa":[{"id":"GHSA-gwfg-w653-2wxx","title":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and...","description":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and Snapdragon Wear IPQ4019, MDM9206, MDM9607, MDM9625, MDM9635M, MSM8909W, SD 210/SD 212/SD 205, SD 400, SD 410/12, SD 600, SD 615/16/SD 415, SD 617, SD 650/52, SD 800, SD 808, and SD 810, in widevine_dash_cmd_handler(), rsp buffers are passed off to widevine commands. These rsp buffers have values in them, such as buffer lengths, that need to be validated to ensure that no buffer overflow/over-reads happen. However, rsp buffers are not always in locked memory, meaning a time-of-check, time-of-use issue can occur where we check that the value is valid, but then a race condition occurs where this memory is swapped out with a different, possibly out of range, value.","status":"published","published":"2022-05-14T03:24:56Z","modified":"2023-02-02T05:07:31Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-119"],"updated_at":"2026-11-02T14:52:31.757952Z"}],"nvd":[{"id":"CVE-2015-9157","description":"In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Mobile and Snapdragon Wear IPQ4019, MDM9206, MDM9607, MDM9625, MDM9635M, MSM8909W, SD 210/SD 212/SD 205, SD 400, SD 410/12, SD 600, SD 615/16/SD 415, SD 617, SD 650/52, SD 800, SD 808, and SD 810, in widevine_dash_cmd_handler(), rsp buffers are passed off to widevine commands. These rsp buffers have values in them, such as buffer lengths, that need to be validated to ensure that no buffer overflow/over-reads happen. However, rsp buffers are not always in locked memory, meaning a time-of-check, time-of-use issue can occur where we check that the value is valid, but then a race condition occurs where this memory is swapped out with a different, possibly out of range, value.","status":"published","published":"2018-04-18T14:29:05.403Z","modified":"2026-06-17T00:35:54.81Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":10,"vector":"AV:N/AC:L/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-119","CWE-362"],"updated_at":"2026-11-02T14:03:19.244941Z"}]}}
