Skip to content
Fencer Intel
high 7.5

CVE-2017-18640 in the critical feed json

SnakeYAML Entity Expansion during load operation

published 2019-12-12 6 y ago modified 2026-06-17 4 mo ago also GHSA-rvwf-54qp-4r6v , EUVD-2021-1404

cvss
7.5
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
26.7%
EPSS 26.7% chance of exploitation in 30 days, percentile 98%
public exploits
0
none known

Summary

The Alias feature in SnakeYAML before 1.26 allows entity expansion during a load operation, a related issue to CVE-2003-1564.

Patch / fix

  • maven org.yaml:snakeyaml 1.26
  • snakeyaml_project snakeyaml 1.26
  • snakeyaml Debian 14, Debian 13, Debian 12 1.25+ds-3

debian advisories DEBIAN-CVE-2017-18640

  • snakeyaml Ubuntu Pro 14.04 LTS 1.12-2ubuntu0.14.04.1~esm2
  • snakeyaml Ubuntu Pro 16.04 LTS 1.12-2ubuntu0.16.04.1~esm2
  • snakeyaml Ubuntu Pro 18.04 LTS 1.23-1+deb10u1ubuntu0.1~esm1
  • snakeyaml Ubuntu Pro 20.04 LTS 1.25+ds-2ubuntu0.1+esm1

ubuntu advisories UBUNTU-CVE-2017-18640

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

  • prometheus-jmx-exporter RHEL 8 0.12.0-6.el8

red hat advisories RHSA-2020:4807

  • snakeyaml Manager Server Module 4.1, Manager Server Module 4.0 1.28-12.3.1
  • snakeyaml SLE Module for Development Tools 15 SP3, SLE Module for Development Tools 15 SP2, Manager Server Module 4.2 1.28-3.5.1

suse advisories SUSE-SU-2021:1979-1SUSE-SU-2021:1978-1SUSE-SU-2021:1876-1

  • snakeyaml openSUSE Tumbleweed 1.28-2.2
  • snakeyaml openSUSE Leap 15.3 1.28-3.5.1
  • snakeyaml openSUSE Leap 15.2 1.28-lp152.2.3.1

opensuse advisories openSUSE-SU-2024:11391-1openSUSE-SU-2021:1876-1openSUSE-SU-2021:0855-1

  • prometheus-jmx-exporter AlmaLinux 8 0.12.0-6.el8

almalinux advisories ALSA-2020:4807

  • prometheus-jmx-exporter Rocky Linux 8 0.12.0-6.el8

rocky linux advisories RLSA-2020:4807

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-18640 updated cvss 7.6

snakeyaml: Billion laughs attack via alias feature

  • Red Hat Enterprise Linux 7 snakeyaml, snakeyaml-javadoc
    affected: no fix planned “Will not fix”
  • Red Hat Software Collections rh-maven35-snakeyaml, rh-java-common-snakeyaml, rh-maven35-snakeyaml-javadoc, rh-java-common-snakeyaml-javadoc
    affected: no fix planned “Out of support scope”
  • Red Hat AMQ Streams 1.8.0
    fixed: vendor fix RHSA-2021:3225
  • Red Hat build of Quarkus 1.3.4
    fixed: vendor fix RHSA-2020:2603
  • Red Hat Enterprise Linux AppStream (v. 8) prometheus-jmx-exporter 0.12.0-6.el8
    fixed: vendor fix RHSA-2020:4807
  • Red Hat Fuse 7.9
    fixed: vendor fix RHSA-2021:3140
  • Red Hat A-MQ Online prometheus-jmx-exporter Red Hat Single Sign-On 7 snakeyaml
    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

Exploit prediction

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

Exploits and checks

  • bitbucket.org https://bitbucket.org/asomov/snakeyaml/issues/377/allow-configuration-for-preventing-billion referenced PoC, tagged "exploit" by a source, unverified
  • bitbucket.org https://bitbucket.org/snakeyaml/snakeyaml/issues/377 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 2.0 5.0 AV:N/AC:L/Au:N/C:N/I:N/A:P
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
maven org.yaml:snakeyaml
<1.26
1.26

Classification

Weakness
  • CWE-776 Improper Restriction of Recursive Entity References in DTDs

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.