Description
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.
Published: 2026-10-05
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

Vendor Solution

Upgrade to YAML 1.30 or later.


Vendor Workaround

For deployments that cannot upgrade to YAML 1.30, set $YAML::LoadBlessed = 0 before loading untrusted input. The option exists from YAML 1.25.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 06 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
First Time appeared Ingydotnet
Ingydotnet yaml
Vendors & Products Ingydotnet
Ingydotnet yaml

Tue, 06 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H'}

cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Mon, 05 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
References

Mon, 05 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H'}

threat_severity

Important


Mon, 05 Oct 2026 07:00:00 +0000

Type Values Removed Values Added
Description 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.
Title YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes
Weaknesses CWE-470
CWE-502
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-06T17:02:58.695Z

Reserved: 2026-09-21T21:18:28.499Z

Link: CVE-2017-20285

cve-icon Vulnrichment

Updated: 2026-10-06T17:02:47.092Z

cve-icon NVD

Status : Deferred

Published: 2026-10-05T07:16:29.017

Modified: 2026-10-06T17:17:08.657

Link: CVE-2017-20285

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-05T06:49:17Z

Links: CVE-2017-20285 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T07:00:14Z

Weaknesses