Skip to content
Fencer Vulns
critical 9.1

CVE-2017-20285 json

YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes

published 2026-10-05 35 d ago modified 2026-10-06 33 d ago also EUVD-2017-19016

cvss
9.1
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 27%
public exploits
0
none known

Summary

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.

Patch / fix

  • libyaml-perl Debian 14, Debian 13, Debian 12 1.30-1

debian advisories DEBIAN-CVE-2017-20285

  • libyaml-perl Ubuntu Pro 16.04 LTS 1.15-1ubuntu0.1~esm1
  • libyaml-perl Ubuntu Pro 18.04 LTS 1.24-1ubuntu0.1~esm1

ubuntu advisories UBUNTU-CVE-2017-20285

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • perl-YAML openSUSE Tumbleweed 1.321.0-2.1

opensuse advisories openSUSE-SU-2026:12368-1

  • perl-YAML AlmaLinux 8 1.24-4.module_el8.10.0+4341+ab0ec422

almalinux advisories ALSA-2026:93471

  • perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+bd06a93a
  • perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+df14587c
  • perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+94558160
  • perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+9457ea6c

rocky linux advisories RLSA-2026:93471

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2017-20285 updated cvss 7.4

perl-yaml: perl-yaml: Arbitrary destructor method execution via crafted YAML document

  • Red Hat Enterprise Linux 7 perl-YAML 1.31-7.el10
    affected: workaround, no fix available
  • Red Hat Enterprise Linux AppStream (v. 8) perl-YAML 1.24-4.module+el8.10.0+25073+42d87e53, perl-YAML 1.24-4.module+el8.10.0+25073+d1062575
    fixed: vendor fix RHSA-2026:93471
  • Red Hat Enterprise Linux 6 perl-YAML 1.31-7.el10 Red Hat Enterprise Linux 9 perl-YAML 1.31-7.el10 Red Hat Enterprise Linux 10 perl-YAML 1.31-7.el10
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
total
Assessed
33 d ago

Exploit prediction

0.34% chance of exploitation in the next 30 days, higher than 27% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CISA ADP 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CNA 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Classification

Weakness
  • CWE-502 Deserialization of Untrusted Data
  • CWE-470 Use of Externally-Controlled Input to Select Classes or Code

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.