Skip to content
Fencer Intel
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 last mo. modified last mo. 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

Is CVE-2017-20285 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

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
last mo.

Exploit prediction

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

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 Intel 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.