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 FencerVendor 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.el10affected: 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+d1062575fixed: 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.el10not 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
References
-
github.com
/ingydotnet/yaml-pm/commit/471314bbdcbd62077eea32755929122aa8bd00a3.patch
patch
-
github.com
/ingydotnet/yaml-pm/commit/7736f38bd02e4f9f77d5468721e3be3d7b34a8ec.patch
patch
-
github.com
/ingydotnet/yaml-pm/issues/176
issue-tracking
-
metacpan.org
/release/TINITA/YAML-1.30/changes
release-notes
- openwall.com /lists/oss-security/2026/10/05/8
Sources
- CVE List CVE-2017-20285
- NVD CVE-2017-20285
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.