Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

[Security] Bump nokogiri from 1.6.6.2 to 1.9.1 #605

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot-preview[bot]
Copy link

@dependabot-preview dependabot-preview bot commented Jan 30, 2019

Bumps nokogiri from 1.6.6.2 to 1.9.1. This update includes security fixes.

Vulnerabilities fixed

Sourced from The GitHub Security Advisory Database.

Moderate severity vulnerability that affects nokogiri
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.

Affected versions: < 1.8.2

Sourced from The Ruby Advisory Database.

Nokogiri gem, via libxml2, is affected by multiple vulnerabilities
Nokogiri 1.8.5 has been released.

This is a security and bugfix release. It addresses two CVEs in upstream
libxml2 rated as "medium" by Red Hat, for which details are below.

If you're using your distro's system libraries, rather than Nokogiri's
vendored libraries, there's no security need to upgrade at this time,
though you may want to check with your distro whether they've patched this
(Canonical has patched Ubuntu packages). Note that these patches are not
yet (as of 2018-10-04) in an upstream release of libxml2.

Full details about the security update are available in Github Issue #1785.
[#1785]: https://github-redirect.dependabot.com/sparklemotion/nokogiri/issues/1785


[MRI] Pulled in upstream patches from libxml2 that address CVE-2018-14404
and CVE-2018-14567. Full details are available in #1785. Note that these
patches are not yet (as of 2018-10-04) in an upstream release of libxml2.

... (truncated)

Patched versions: >= 1.8.5
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Revert libxml2 behavior in Nokogiri gem that could cause XSS
[MRI] Behavior in libxml2 has been reverted which caused
CVE-2018-8048 (loofah gem), CVE-2018-3740 (sanitize gem), and
CVE-2018-3741 (rails-html-sanitizer gem). The commit in question is
here:

GNOME/libxml2@960f0e2

and more information is available about this commit and its impact
here:

https://github-redirect.dependabot.com/flavorjones/loofah/issues/144

This release simply reverts the libxml2 commit in question to protect
users of Nokogiri's vendored libraries from similar vulnerabilities.

If you're offended by what happened here, I'd kindly ask that you
comment on the upstream bug report here:

https://bugzilla.gnome.org/show_bug.cgi?id=769760

Patched versions: >= 1.8.3
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Nokogiri gem contains several vulnerabilities in libxml2 and libxslt
Several vulnerabilities were discovered in the libxml2 and libxslt libraries
that the Nokogiri gem depends on.

CVE-2015-1819
A denial of service flaw was found in the way libxml2 parsed XML
documents. This flaw could cause an application that uses libxml2 to use an
excessive amount of memory.

CVE-2015-7941
libxml2 does not properly stop parsing invalid input, which allows
context-dependent attackers to cause a denial of service (out-of-bounds read
and libxml2 crash) via crafted specially XML data.

CVE-2015-7942
The xmlParseConditionalSections function in parser.c in libxml2
does not properly skip intermediary entities when it stops parsing invalid
input, which allows context-dependent attackers to cause a denial of service
(out-of-bounds read and crash) via crafted XML data.

CVE-2015-7995

... (truncated)

Patched versions: ~> 1.6.6.4; >= 1.6.7.rc4
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Nokogiri gem contains several vulnerabilities in libxml2 and libxslt
Nokogiri version 1.7.1 has been released, pulling in several upstream
patches to the vendored libxml2 to address the following CVEs:

CVE-2016-4658
CVSS v3 Base Score: 9.8 (Critical)
libxml2 in Apple iOS before 10, OS X before 10.12, tvOS before 10, and
watchOS before 3 allows remote attackers to execute arbitrary code or cause
a denial of service (memory corruption) via a crafted XML document.

CVE-2016-5131
CVSS v3 Base Score: 8.8 (HIGH)
Use-after-free vulnerability in libxml2 through 2.9.4, as used in Google
Chrome before 52.0.2743.82, allows remote attackers to cause a denial of
service or possibly have unspecified other impact via vectors related to
the XPointer range-to function.

Patched versions: >= 1.7.1
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Nokogiri gem contains several vulnerabilities in libxml2
Nokogiri version 1.6.7.1 has been released, pulling in several upstream
patches to the vendored libxml2 to address the following CVEs:

CVE-2015-5312
CVSS v2 Base Score: 7.1 (HIGH)
The xmlStringLenDecodeEntities function in parser.c in libxml2
before 2.9.3 does not properly prevent entity expansion, which
allows context-dependent attackers to cause a denial of
service (CPU consumption) via crafted XML data, a different
vulnerability than CVE-2014-3660.

CVE-2015-7497
CVSS v2 Base Score: 5.0 (MEDIUM)
Heap-based buffer overflow in the xmlDictComputeFastQKey
function in dict.c in libxml2 before 2.9.3 allows
context-dependent attackers to cause a denial of service via
unspecified vectors.

CVE-2015-7498
CVSS v2 Base Score: 5.0 (MEDIUM)

... (truncated)

Patched versions: >= 1.6.7.1
Unaffected versions: < 1.6.0

Sourced from The Ruby Advisory Database.

Nokogiri gem contains a heap-based buffer overflow vulnerability in libxml2
Nokogiri version 1.6.7.2 has been released, pulling in several upstream
patches to the vendored libxml2 to address the following CVE:

CVE-2015-7499
CVSS v2 Base Score: 5.0 (MEDIUM)

Heap-based buffer overflow in the xmlGROW function in parser.c
in libxml2 before 2.9.3 allows context-dependent attackers to
obtain sensitive process memory information via unspecified
vectors.

libxml2 could be made to crash if it opened a specially crafted
file. It was discovered that libxml2 incorrectly handled certain
malformed documents. If a user or automated system were tricked
into opening a specially crafted document, an attacker could
possibly cause libxml2 to crash, resulting in a denial of service.

Patched versions: >= 1.6.7.2
Unaffected versions: < 1.6.0

Sourced from The Ruby Advisory Database.

Nokogiri gem contains two upstream vulnerabilities in libxslt 1.1.29
nokogiri version 1.7.2 has been released.

This is a security update based on 1.7.1, addressing two upstream
libxslt 1.1.29 vulnerabilities classified as "Medium" by Canonical
and given a CVSS3 score of "6.5 Medium" and "8.8 High" by RedHat.

These patches only apply when using Nokogiri's vendored libxslt
package. If you're using your distro's system libraries, there's no
need to upgrade from 1.7.0.1 or 1.7.1 at this time.

Full details are available at the github issue linked to in the
changelog below.


1.7.2 / 2017-05-09

Security Notes

[MRI] Upstream libxslt patches are applied to the vendored libxslt

... (truncated)

Patched versions: >= 1.7.2
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Nokogiri gem, via libxml, is affected by DoS and RCE vulnerabilities
The version of libxml2 packaged with Nokogiri contains several
vulnerabilities. Nokogiri has mitigated these issues by upgrading to
libxml 2.9.5.

It was discovered that a type confusion error existed in libxml2. An
attacker could use this to specially construct XML data that
could cause a denial of service or possibly execute arbitrary
code. (CVE-2017-0663)

It was discovered that libxml2 did not properly validate parsed entity
references. An attacker could use this to specially construct XML
data that could expose sensitive information. (CVE-2017-7375)

It was discovered that a buffer overflow existed in libxml2 when
handling HTTP redirects. An attacker could use this to specially
construct XML data that could cause a denial of service or possibly
execute arbitrary code. (CVE-2017-7376)

Marcel Böhme and Van-Thuan Pham discovered a buffer overflow in
libxml2 when handling elements. An attacker could use this to specially

... (truncated)

Patched versions: >= 1.8.1
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Nokogiri gem, via libxml, is affected by DoS vulnerabilities
The version of libxml2 packaged with Nokogiri contains a
vulnerability. Nokogiri has mitigated these issue by upgrading to
libxml 2.9.6.

It was discovered that libxml2 incorrecty handled certain files. An attacker
could use this issue with specially constructed XML data to cause libxml2 to
consume resources, leading to a denial of service.

Patched versions: >= 1.8.2
Unaffected versions: none

Sourced from The Ruby Advisory Database.

Denial of service or RCE from libxml2 and libxslt
Nokogiri is affected by series of vulnerabilities in libxml2 and libxslt,
which are libraries Nokogiri depends on. It was discovered that libxml2 and
libxslt incorrectly handled certain malformed documents, which can allow
malicious users to cause issues ranging from denial of service to remote code
execution attacks.

For more information, the Ubuntu Security Notice is a good start:
http://www.ubuntu.com/usn/usn-2994-1/

Patched versions: >= 1.6.8
Unaffected versions: < 1.6.0

Sourced from The Ruby Advisory Database.

Nokogiri gem, via libxml, is affected by DoS vulnerabilities
The version of libxml2 packaged with Nokogiri contains a
vulnerability. Nokogiri has mitigated these issue by upgrading to
libxml 2.9.5.

Wei Lei discovered that libxml2 incorrecty handled certain parameter
entities. An attacker could use this issue with specially constructed XML
data to cause libxml2 to consume resources, leading to a denial of service.

Patched versions: >= 1.8.1
Unaffected versions: none

Release notes

Sourced from nokogiri's releases.

1.9.1 / 2018-12-17

Bug fixes

  • Fix a bug introduced in v1.9.0 where XML::DocumentFragment#dup no longer returned an instance of the callee's class, instead always returning an XML::DocumentFragment. This notably broke any subclass of XML::DocumentFragment including HTML::DocumentFragment as well as the Loofah gem's Loofah::HTML::DocumentFragment. [#1846]

1.9.0 / 2018-12-17

Security Notes

  • [JRuby] Upgrade Xerces dependency from 2.11.0 to 2.12.0 to address upstream vulnerability CVE-2012-0881 [#1831] (Thanks grajagandev for reporting.)

Notable non-functional changes

  • Decrease installation size by removing many unneeded files (e.g., /test) from the packaged gems. [#1719] (Thanks, stevecrozz!)

Features

  • XML::Attr#value= allows HTML node attribute values to be set to either a blank string or an empty boolean attribute. [#1800]
  • Introduce XML::Node#wrap which does what XML::NodeSet#wrap has always done, but for a single node. [#1531] (Thanks, ethirajsrinivasan!)
  • [MRI] Improve installation experience on macOS High Sierra (Darwin). [#1812, #1813] (Thanks, gpakosz and nurse!)
  • [MRI] Node#dup supports copying a node directly to a new document. See the method documentation for details.
  • [MRI] DocumentFragment#dup is now more memory-efficient, avoiding making unnecessary copies. [#1063]
  • [JRuby] NodeSet has been rewritten to improve performance! [#1795]

Bug fixes

  • NodeSet#each now returns self instead of zero. [#1822] (Thanks, olehif!)
  • [MRI] Address a memory leak when using XML::Builder to create nodes with namespaces. [#1810]
  • [MRI] Address a memory leak when unparenting a DTD. [#1784] (Thanks, stevecheckoway!)
  • [MRI] Use RbConfig::CONFIG instead of ::MAKEFILE_CONFIG to fix installations that use Makefile macros. [#1820] (Thanks, nobu!)
  • [JRuby] Decrease large memory usage when making nested XPath queries. [#1749]
  • [JRuby] Fix failing tests on JRuby 9.2.x
  • [JRuby] Fix default namespaces in nodes reparented into a different document [#1774]
  • [JRuby] Fix support for Java 9. [#1759] (Thanks, Taywee!)

Dependencies

  • [MRI] Upgrade mini_portile2 dependency from ~> 2.3.0 to ~> 2.4.0

1.9.0.rc1 / 2018-12-10

... (truncated)
Changelog

Sourced from nokogiri's changelog.

1.9.1 / 2018-12-17

Bug fixes

  • Fix a bug introduced in v1.9.0 where XML::DocumentFragment#dup no longer returned an instance of the callee's class, instead always returning an XML::DocumentFragment. This notably broke any subclass of XML::DocumentFragment including HTML::DocumentFragment as well as the Loofah gem's Loofah::HTML::DocumentFragment. [#1846]

1.9.0 / 2018-12-17

Security Notes

  • [JRuby] Upgrade Xerces dependency from 2.11.0 to 2.12.0 to address upstream vulnerability CVE-2012-0881 [#1831] (Thanks grajagandev for reporting.)

Notable non-functional changes

  • Decrease installation size by removing many unneeded files (e.g., /test) from the packaged gems. [#1719] (Thanks, stevecrozz!)

Features

  • XML::Attr#value= allows HTML node attribute values to be set to either a blank string or an empty boolean attribute. [#1800]
  • Introduce XML::Node#wrap which does what XML::NodeSet#wrap has always done, but for a single node. [#1531] (Thanks, ethirajsrinivasan!)
  • [MRI] Improve installation experience on macOS High Sierra (Darwin). [#1812, #1813] (Thanks, gpakosz and nurse!)
  • [MRI] Node#dup supports copying a node directly to a new document. See the method documentation for details.
  • [MRI] DocumentFragment#dup is now more memory-efficient, avoiding making unnecessary copies. [#1063]
  • [JRuby] NodeSet has been rewritten to improve performance! [#1795]

Bug fixes

  • NodeSet#each now returns self instead of zero. [#1822] (Thanks, olehif!)
  • [MRI] Address a memory leak when using XML::Builder to create nodes with namespaces. [#1810]
  • [MRI] Address a memory leak when unparenting a DTD. [#1784] (Thanks, stevecheckoway!)
  • [MRI] Use RbConfig::CONFIG instead of ::MAKEFILE_CONFIG to fix installations that use Makefile macros. [#1820] (Thanks, nobu!)
  • [JRuby] Decrease large memory usage when making nested XPath queries. [#1749]
  • [JRuby] Fix failing tests on JRuby 9.2.x
  • [JRuby] Fix default namespaces in nodes reparented into a different document [#1774]
  • [JRuby] Fix support for Java 9. [#1759] (Thanks, Taywee!)

Dependencies

  • [MRI] Upgrade mini_portile2 dependency from ~> 2.3.0 to ~> 2.4.0

1.8.5 / 2018-10-04

Security Notes

... (truncated)
Commits
  • db26a04 limit test of libxml-specific DocumentFragment#dup behavior
  • 2e15c88 version bump to v1.9.1
  • e9ac292 Fix XML::DocumentFragment to return an instance of callee's class
  • ab40787 correct CHANGELOG
  • fff550c version bump to v1.9.0
  • 8d9a65b Merge branch '1719-stevecrozz-decrease-gem-size'
  • dd19ddd update CHANGELOG
  • 985b9fc add .hoerc containing excludes
  • b61b34c Make builds minimal
  • 9bb0226 remove hacks preventing jruby from using racc and rexical
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking Bump now in your Dependabot dashboard.

Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

@dependabot-preview dependabot-preview bot added dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability labels Jan 30, 2019
@dependabot-preview dependabot-preview bot force-pushed the dependabot/bundler/nokogiri-1.9.1 branch from dfd37c9 to 459e93a Compare January 30, 2019 11:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant