{"id":"CVE-2017-20285","published":"2026-10-05T07:16:29.017","lastModified":"2026-10-06T17:17:08.657","description":"YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes.\n\nA perl/hash:Class tag blesses a hash into the class it names. The document supplies the object's fields, and Perl calls DESTROY when it goes out of scope.\n\nWhat DESTROY does depends on the classes the process has loaded. With File::Temp::Dir from core Perl, it can delete a directory tree the document names.","cvssScore":9.1,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","cwes":["CWE-470","CWE-502"],"vendors":[],"products":[],"references":[{"url":"https://github.com/ingydotnet/yaml-pm/commit/471314bbdcbd62077eea32755929122aa8bd00a3.patch","tags":[]},{"url":"https://github.com/ingydotnet/yaml-pm/commit/7736f38bd02e4f9f77d5468721e3be3d7b34a8ec.patch","tags":[]},{"url":"https://github.com/ingydotnet/yaml-pm/issues/176","tags":[]},{"url":"https://metacpan.org/release/TINITA/YAML-1.30/changes","tags":[]},{"url":"http://www.openwall.com/lists/oss-security/2026/10/05/8","tags":[]}],"exploitRefs":[{"url":"https://github.com/ingydotnet/yaml-pm/commit/471314bbdcbd62077eea32755929122aa8bd00a3.patch","tags":[]},{"url":"https://github.com/ingydotnet/yaml-pm/commit/7736f38bd02e4f9f77d5468721e3be3d7b34a8ec.patch","tags":[]},{"url":"https://github.com/ingydotnet/yaml-pm/issues/176","tags":[]}],"hasPoc":true,"ai":{"summary":"This flaw allows an attacker to execute arbitrary code by triggering the DESTROY method of a class, potentially leading to unauthorized directory deletion.","exploitability":"Exploitation is moderately hard as it requires the attacker to control the YAML document and have the necessary Perl modules loaded.","blast_radius":"If exploited, the impact could be significant, as it allows for the deletion of directory trees, potentially leading to data loss or system compromise.","remediation":"Upgrade to YAML version 1.30 or later.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["rce","code-exec","perl","yaml"],"model":"qwen2.5:7b-instruct","analyzedAt":"2026-10-07T08:44:07.450Z"}}