{"id":"CVE-2017-16615","aliases":["EUVD-2017-0076","GHSA-xpm8-98mx-h4c5","PYSEC-2017-19"],"status":"published","title":"Unsafe deserialization in MLAlchemy","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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.03445,"percentile":0.89083,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2017-11-08T03:00:00Z","modified":"2026-10-20T10:47:46Z","fixes":[{"ecosystem":"PyPI","package":"mlalchemy","fixed_in":["0.2.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"mlalchemy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.2.2"}]}]},{"source":"osv","ecosystem":"PyPI","package":"mlalchemy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.2.2"}]}],"versions":["0.1.0","0.1.1","0.1.2","0.1.3","0.2.0","0.2.1"]},{"source":"osv","ecosystem":"PyPI","package":"mlalchemy","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"bc795757febdcce430d89f9d08f75c32d6989d3c"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.2.2"}]}],"versions":["0.1.0","0.1.1","0.1.2","0.1.3","0.2.0","0.2.1"]}],"products":[{"vendor":"mlalchemy_project","product":"mlalchemy"}],"references":[{"url":"https://github.com/thanethomson/MLAlchemy/commit/bc795757febdcce430d89f9d08f75c32d6989d3c","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","report","web","fix"]},{"url":"https://github.com/thanethomson/MLAlchemy/issues/1","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","report","web"]},{"url":"https://joel-malwarebenchmark.github.io/blog/2017/11/08/cve-2017-16615-critical-restful-web-applications-vulnerability/","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","article"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-16615","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/mlalchemy/PYSEC-2017-19.yaml","tags":["web"]},{"url":"https://joel-malwarebenchmark.github.io/blog/2017/11/08/cve-2017-16615-critical-restful-web-applications-vulnerability","tags":["web"]},{"url":"https://github.com/advisories/GHSA-xpm8-98mx-h4c5","tags":["advisory"]},{"url":"https://github.com/thanethomson/MLAlchemy","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2017-16615","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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.283Z","updated_at":"2026-11-02T14:33:21.453505Z"}],"euvd":[{"id":"EUVD-2017-0076","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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-xpm8-98mx-h4c5","title":"Unsafe deserialization in MLAlchemy","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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":"2018-07-13T16:01:07Z","modified":"2024-09-24T20:32:19Z","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"}],"updated_at":"2026-11-02T14:38:05.526697Z"}],"nvd":[{"id":"CVE-2017-16615","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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.2Z","modified":"2026-06-17T01:09:34.493Z","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-16615","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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.2Z","modified":"2026-10-20T10:47:46.778087463Z","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-xpm8-98mx-h4c5","title":"Unsafe deserialization in MLAlchemy","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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":"2018-07-13T16:01:07Z","modified":"2025-02-14T05:28:40.304883Z","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"}],"updated_at":"2026-11-02T15:47:00.198893Z"},{"id":"PYSEC-2017-19","description":"An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, 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.061322Z","updated_at":"2026-11-02T15:52:51.645172Z"}]}}
