YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of...
zetlyn/cve-ghsa vulnerability ghsa GHSA-c454-fc94-q86x cve CVE-2017-20285 known 2026-10-05
https://github.com/advisories/GHSA-c454-fc94-q86x
Properties
| cwe | CWE-470receipt
What the source handed over{
"comments": 0,
"credits": [],
"cve_id": "CVE-2017-20285",
"cvss": {
"score": null,
"vector_string": null
},
"cvss_severities": {
"cvss_v3": {
"score": 0.0,
"vector_string": null
},
"cvss_v4": {
"score": 0.0,
"vector_string": null
}
},
"cwes": [
{
"cwe_id": "CWE-470",
"name": "Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')"
}
],
"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.",
"ghsa_id": "GHSA-c454-fc94-q86x",
"github_reviewed_at": null,
"html_url": "https://github.com/advisories/GHSA-c454-fc94-q86x",
"identifiers": [
{
"type": "GHSA",
"value": "GHSA-c454-fc94-q86x"
},
{
"type": "CVE",
"value": "CVE-2017-20285"
}
],
"nvd_published_at": "2026-10-05T07:16:29Z",
"published_at": "2026-10-05T09:31:51Z",
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2017-20285",
"https://github.com/ingydotnet/yaml-pm/issues/176",
"https://github.com/ingydotnet/yaml-pm/commit/471314bbdcbd62077eea32755929122aa8bd00a3.patch",
"https://github.com/ingydotnet/yaml-pm/commit/7736f38bd02e4f9f77d5468721e3be3d7b34a8ec.patch",
"https://metacpan.org/release/TINITA/YAML-1.30/changes",
"https://github.com/advisories/GHSA-c454-fc94-q86x"
],
"repository_advisory_url": null,
"severity": "unknown",
"source_code_location": "",
"summary": "YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of...",
"type": "unreviewed",
"updated_at": "2026-10-05T09:31:56Z",
"url": "https://api.github.com/advisories/GHSA-c454-fc94-q86x",
"vulnerabilities": [],
"withdrawn_at": null
} |
|---|---|
| severity | unknownreceipt
What the source handed over{
"comments": 0,
"credits": [],
"cve_id": "CVE-2017-20285",
"cvss": {
"score": null,
"vector_string": null
},
"cvss_severities": {
"cvss_v3": {
"score": 0.0,
"vector_string": null
},
"cvss_v4": {
"score": 0.0,
"vector_string": null
}
},
"cwes": [
{
"cwe_id": "CWE-470",
"name": "Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')"
}
],
"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.",
"ghsa_id": "GHSA-c454-fc94-q86x",
"github_reviewed_at": null,
"html_url": "https://github.com/advisories/GHSA-c454-fc94-q86x",
"identifiers": [
{
"type": "GHSA",
"value": "GHSA-c454-fc94-q86x"
},
{
"type": "CVE",
"value": "CVE-2017-20285"
}
],
"nvd_published_at": "2026-10-05T07:16:29Z",
"published_at": "2026-10-05T09:31:51Z",
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2017-20285",
"https://github.com/ingydotnet/yaml-pm/issues/176",
"https://github.com/ingydotnet/yaml-pm/commit/471314bbdcbd62077eea32755929122aa8bd00a3.patch",
"https://github.com/ingydotnet/yaml-pm/commit/7736f38bd02e4f9f77d5468721e3be3d7b34a8ec.patch",
"https://metacpan.org/release/TINITA/YAML-1.30/changes",
"https://github.com/advisories/GHSA-c454-fc94-q86x"
],
"repository_advisory_url": null,
"severity": "unknown",
"source_code_location": "",
"summary": "YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of...",
"type": "unreviewed",
"updated_at": "2026-10-05T09:31:56Z",
"url": "https://api.github.com/advisories/GHSA-c454-fc94-q86x",
"vulnerabilities": [],
"withdrawn_at": null
} |
Text
YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of...
YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes.
A 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.
What 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.