2019-01 Security Bulletin: Junos OS: Multiple vulnerabilities in libxml2

  [JSA10916] Show Article Properties


Product Affected:
This issue affects Junos OS 12.1X46, 12.3, 12.3X48, 14.1X53, 15.1, 15.1F, 15.1X49, 15.1X53, 16.1, 16.2, 17.1, 17.2, 17.3, 17.4, 18.1, 18.2, 18.2X75
Problem:

Multiple vulnerabilities in libxml2 have been resolved in Junos OS.

Affected releases are Juniper Networks Junos OS:

  • 12.1X46 versions prior to 12.1X46-D81 on SRX Series;
  • 12.3 versions prior to 12.3R12-S10;
  • 12.3X48 versions prior to 12.3X48-D75 on SRX Series;
  • 14.1X53 versions prior to 14.1X53-D48 on EX2200/VC, EX3200, EX3300/VC, EX4200, EX4300, EX4550/VC, EX4600, EX6200, EX8200/VC (XRE), QFX3500, QFX3600, QFX5100;
  • 15.1 versions prior to 15.1R4-S9, 15.1R7-S2;
  • 15.1F versions prior to 15.1F6-S11,
  • 15.1X49 versions prior to 15.1X49-D150 on SRX Series;
  • 15.1X53 versions prior to 15.1X53-D495 on NFX150, NFX250;
  • 15.1X53 versions prior to 15.1X53-D234 on QFX5200/QFX5110;
  • 15.1X53 versions prior to 15.1X53-D68 on QFX10000 Series;
  • 15.1X53 versions prior to 15.1X53-D590 on EX2300/EX3400;
  • 16.1 versions prior to 16.1R4-S11, 16.1R6-S5, 16.1R7-S1;
  • 16.2 versions prior to 16.2R2-S7;
  • 17.1 versions prior to 17.1R2-S9, 17.1R3;
  • 17.2 versions prior to 17.2R1-S7, 17.2R2-S6, 17.2R3;
  • 17.3 versions prior to 17.3R2-S4, 17.3R3-S1;
  • 17.4 versions prior to 17.4R2;
  • 18.1 versions prior to 18.1R2-S2, 18.1R3;
  • 18.2 versions prior to 18.2R1-S1, 18.2R2;
  • 18.2X75 versions prior to 18.2X75-D20.
CVE CVSS Summary
CVE-2016-3627 7.5 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) The xmlStringGetNodeList function in tree.c in libxml2 2.9.3 and earlier, when used in recovery mode, allows context-dependent attackers to cause a denial of service (infinite recursion, stack consumption, and application crash) via a crafted XML document.
CVE-2016-3705 7.5 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) The (1) xmlParserEntityCheck and (2) xmlParseAttValueComplex functions in parser.c in libxml2 2.9.3 do not properly keep track of the recursion depth, which allows context-dependent attackers to cause a denial of service (stack consumption and application crash) via a crafted XML document containing a large number of nested entity references.
CVE-2016-4447 7.5 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) The xmlParseElementDecl function in parser.c in libxml2 before 2.9.4 allows context-dependent attackers to cause a denial of service (heap-based buffer underread and application crash) via a crafted file, involving xmlParseName.
CVE-2016-4448 9.8 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) Format string vulnerability in libxml2 before 2.9.4 allows attackers to have unspecified impact via format string specifiers in unknown vectors.
CVE-2016-4449 7.1 (CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H) XML external entity (XXE) vulnerability in the xmlStringLenDecodeEntities function in parser.c in libxml2 before 2.9.4, when not in validating mode, allows context-dependent attackers to read arbitrary files or cause a denial of service (resource consumption) via unspecified vectors.
CVE-2017-7375 9.8 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) A flaw in libxml2 allows remote XML entity inclusion with default parser flags (i.e., when the caller did not request entity substitution, DTD validation, external DTD subset loading, or default DTD attributes). Depending on the context, this may expose a higher-risk attack surface in libxml2 not usually reachable with default parser flags, and expose content from local files, HTTP, or FTP servers (which might be otherwise unreachable).
CVE-2017-18258 6.5 (CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) The xz_head function in xzlib.c in libxml2 before 2.9.6 allows remote attackers to cause a denial of service (memory consumption) via a crafted LZMA file, because the decoder functionality does not restrict memory usage to what is required for a legitimate file.
CVE-2018-9251 5.3 (CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H) The xz_decomp function in xzlib.c in libxml2 2.9.8, if --with-lzma is used, allows remote attackers to cause a denial of service (infinite loop) via a crafted XML file that triggers LZMA_MEMLIMIT_ERROR, as demonstrated by xmllint, a different vulnerability than CVE-2015-8035.
Solution:

The following software releases have been updated to resolve this specific issue: 12.1X46-D81, 12.3R12-S10, 12.3X48-D75, 14.1X53-D48, 15.1F6-S11, 15.1R4-S9, 15.1R7-S2, 15.1X49-D150, 15.1X53-D495, 15.1X53-D234, 15.1X53-D68, 15.1X53-D590, 16.1R4-S11, 16.1R6-S5, 16.1R7-S1, 16.2R2-S7, 17.1R2-S9, 17.1R3, 17.2R1-S7, 17.2R2-S6, 17.2R3, 17.3R2-S4, 17.3R3-S1, 17.4R2, 18.1R2-S2, 18.1R3, 18.2R1-S1, 18.2R2, 18.2X75-D20, 18.3R1, and all subsequent releases.

This issue is being tracked as PR 1364019 which is visible on the Customer Support website.

Workaround:
There are no known workarounds for these issues.

To reduce the risks of exploitations of these issues:

  • limit the use of XML scripting to only trusted hosts, networks, and administrators.
  • Disable services that are not essential to the operation of the system unless needed; e.g. J-Web, FTP, etc.
  • Further, limit access to devices trusted hosts, networks and administrators.
Modification History:
2019-01-09: Initial Publication.
Related Links:
CVSS Score:
9.8 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Severity Level:
Critical
Severity Assessment:
Information for how Juniper Networks uses CVSS can be found at KB 16446 "Common Vulnerability Scoring System (CVSS) and Juniper's Security Advisories."