{"id":"CVE-2017-16616","aliases":["EUVD-2017-0101","GHSA-vg8g-jpm9-jh8r","PYSEC-2017-23"],"status":"published","title":"Unsafe pyyaml load usage in PyAnyAPI","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","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.0362,"percentile":0.8959,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-502"],"published":"2017-11-08T03:00:00Z","modified":"2026-10-20T10:47:47Z","fixes":[{"ecosystem":"PyPI","package":"pyanyapi","fixed_in":["0.6.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pyanyapi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"pyanyapi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.1"}]}],"versions":["0.4","0.5","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.6.0"]},{"source":"osv","ecosystem":"PyPI","package":"pyanyapi","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.1"}]}],"versions":["0.4","0.5","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.6.0"]}],"products":[{"vendor":"pyanyapi_project","product":"pyanyapi"}],"references":[{"url":"https://joel-malwarebenchmark.github.io/blog/2017/11/08/cve-2017-16616-yamlparser-in-pyanyapi/","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","article"]},{"url":"https://github.com/Stranger6667/pyanyapi/issues/41","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","report","web"]},{"url":"https://github.com/Stranger6667/pyanyapi/releases/tag/0.6.1","tags":["x_refsource_CONFIRM","x_transferred","Release Notes","advisory","web"]},{"url":"https://pypi.python.org/pypi/pyanyapi/0.6.1","tags":["x_refsource_CONFIRM","x_transferred","Product","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-16616","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-vg8g-jpm9-jh8r","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/pyanyapi/PYSEC-2017-23.yaml","tags":["web"]},{"url":"https://github.com/Stranger6667/pyanyapi/commit/810db626c18ebc261d5f4299d0f0eac38d5eb3cf","tags":["web"]},{"url":"https://joel-malwarebenchmark.github.io/blog/2017/11/08/cve-2017-16616-yamlparser-in-pyanyapi","tags":["web"]},{"url":"https://github.com/Stranger6667/pyanyapi","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2017-16616","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2017-11-08T03:00:00Z","modified":"2024-08-05T20:27:04.276Z","updated_at":"2026-11-02T14:33:21.453505Z"}],"euvd":[{"id":"EUVD-2017-0101","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2017-11-08T03:00:00Z","modified":"2024-08-05T20:27:04Z","updated_at":"2026-11-03T02:23:12.50701Z"}],"ghsa":[{"id":"GHSA-vg8g-jpm9-jh8r","title":"Unsafe pyyaml load usage in PyAnyAPI","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because `load` is used where `safe_load` should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2022-05-13T01:44:08Z","modified":"2024-10-21T20:51:44Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"},{"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-502"],"updated_at":"2026-11-02T14:38:12.325695Z"}],"nvd":[{"id":"CVE-2017-16616","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2017-11-08T03:29:00.247Z","modified":"2026-06-17T01:09:34.603Z","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":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"updated_at":"2026-11-02T14:04:08.635428Z"}],"osv":[{"id":"CVE-2017-16616","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2017-11-08T03:29:00.247Z","modified":"2026-10-20T10:47:47.135121168Z","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"}],"updated_at":"2026-11-02T15:44:04.853379Z"},{"id":"GHSA-vg8g-jpm9-jh8r","title":"Unsafe pyyaml load usage in PyAnyAPI","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because `load` is used where `safe_load` should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2022-05-13T01:44:08Z","modified":"2024-10-21T21:01:58.950074Z","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"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:46:57.348035Z"},{"id":"PYSEC-2017-23","description":"An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.","status":"published","published":"2017-11-08T03:29:00Z","modified":"2023-11-08T03:59:13.12222Z","updated_at":"2026-11-02T15:52:51.645172Z"}]}}
