CVE-2017-20285CWE-470CWE-502insecure-deserialization

CVE-2017-20285

Critical · published October 5, 2026

CVSS v3.1
9.1
EPSS
0%
Percentile
24.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
9.1 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00322 · 24.0th percentile
Weaknesses
CWE-470 · Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection'); CWE-502 · Deserialization of Untrusted Data
Published
2026-10-05T11:16Z
References (5)
EPSS history
Timeline
  • 07 OCT 03:24Z
    EPSS moved — → 0%
    epss
  • 05 OCT 06:49Z
    YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes
    cvelistv5