🚨 [security] Update nokogiri 1.18.6 → 1.19.0 (minor)
🚨 Your current dependencies have known security vulnerabilities 🚨
This dependency update fixes known security vulnerabilities. Please see the details below and assess their impact carefully. We recommend to merge and deploy this as soon as possible!
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
What changed?
✳️ nokogiri (1.18.6 → 1.19.0) · Repo · Changelog
Security Advisories 🚨
🚨 Nokogiri patches vendored libxml2 to resolve multiple CVEs
Summary
Nokogiri v1.18.9 patches the vendored libxml2 to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796.
Impact and severity
CVE-2025-6021
A flaw was found in libxml2's xmlBuildQName function, where integer overflows in buffer size calculations can lead to a stack-based buffer overflow. This issue can result in memory corruption or a denial of service when processing crafted input.
NVD claims a severity of 7.5 High (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Fixed by applying https://gitlab.gnome.org/GNOME/libxml2/-/commit/17d950ae
CVE-2025-6170
A flaw was found in the interactive shell of the xmllint command-line tool, used for parsing XML files. When a user inputs an overly long command, the program does not check the input size properly, which can cause it to crash. This issue might allow attackers to run harmful code in rare configurations without modern protections.
NVD claims a severity of 2.5 Low (CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L)
Fixed by applying https://gitlab.gnome.org/GNOME/libxml2/-/commit/5e9ec5c1
CVE-2025-49794
A use-after-free vulnerability was found in libxml2. This issue occurs when parsing XPath elements under certain circumstances when the XML schematron has the <sch:name path="..."/> schema elements. This flaw allows a malicious actor to craft a malicious XML document used as input for libxml, resulting in the program's crash using libxml or other possible undefined behaviors.
NVD claims a severity of 9.1 Critical (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H)
Fixed by applying https://gitlab.gnome.org/GNOME/libxml2/-/commit/81cef8c5
CVE-2025-49795
A NULL pointer dereference vulnerability was found in libxml2 when processing XPath XML expressions. This flaw allows an attacker to craft a malicious XML input to libxml2, leading to a denial of service.
NVD claims a severity of 7.5 High (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Fixed by applying https://gitlab.gnome.org/GNOME/libxml2/-/commit/62048278
CVE-2025-49796
A vulnerability was found in libxml2. Processing certain sch:name elements from the input XML file can trigger a memory corruption issue. This flaw allows an attacker to craft a malicious XML input file that can lead libxml to crash, resulting in a denial of service or other possible undefined behavior due to sensitive data being corrupted in memory.
NVD claims a severity of 9.1 Critical (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H)
Fixed by applying https://gitlab.gnome.org/GNOME/libxml2/-/commit/81cef8c5
Affected Versions
- Nokogiri < 1.18.9 when using CRuby (MRI) with vendored libxml2
Patched Versions
- Nokogiri >= 1.18.9
Mitigation
Upgrade to Nokogiri v1.18.9 or later.
Users who are unable to upgrade Nokogiri may also choose a more complicated mitigation: compile and link Nokogiri against patched external libxml2 libraries which will also address these same issues.
References
🚨 Nokogiri updates packaged libxml2 to v2.13.8 to resolve CVE-2025-32414 and CVE-2025-32415
Summary
Nokogiri v1.18.8 upgrades its dependency libxml2 to v2.13.8.
libxml2 v2.13.8 addresses:
- CVE-2025-32414
- described at https://gitlab.gnome.org/GNOME/libxml2/-/issues/889
- CVE-2025-32415
- described at https://gitlab.gnome.org/GNOME/libxml2/-/issues/890
Impact
CVE-2025-32414: No impact
In libxml2 before 2.13.8 and 2.14.x before 2.14.2, out-of-bounds memory access can occur in the Python API (Python bindings) because of an incorrect return value. This occurs in xmlPythonFileRead and xmlPythonFileReadRaw because of a difference between bytes and characters.
There is no impact from this CVE for Nokogiri users.
CVE-2025-32415: Low impact
In libxml2 before 2.13.8 and 2.14.x before 2.14.2, xmlSchemaIDCFillNodeTables in xmlschemas.c has a heap-based buffer under-read. To exploit this, a crafted XML document must be validated against an XML schema with certain identity constraints, or a crafted XML schema must be used.
In the upstream issue, further context is provided by the maintainer:
The bug affects validation against untrusted XML Schemas (.xsd) and validation of untrusted
documents against trusted Schemas if they make use of xsd:keyref in combination with recursively
defined types that have additional identity constraints.MITRE has published a severity score of 2.9 LOW (CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L) for this CVE.
Release Notes
1.19.0
v1.19.0 / 2025-12-28
Ruby
This release is focused on changes to Ruby version support, and is otherwise functionally identical to v1.18.10.
- Introduce native gem support for Ruby 4.0. #3590
- End support for Ruby 3.1, for which upstream support ended 2025-03-26.
- End support for JRuby 9.4 (which targets Ruby 3.1 compatibility).
sha256 checksums
11a97ecc3c0e7e5edcf395720b10860ef493b768f6aa80c539573530bc933767 nokogiri-1.19.0-aarch64-linux-gnu.gem eb70507f5e01bc23dad9b8dbec2b36ad0e61d227b42d292835020ff754fb7ba9 nokogiri-1.19.0-aarch64-linux-musl.gem 572a259026b2c8b7c161fdb6469fa2d0edd2b61cd599db4bbda93289abefbfe5 nokogiri-1.19.0-arm-linux-gnu.gem 23ed90922f1a38aed555d3de4d058e90850c731c5b756d191b3dc8055948e73c nokogiri-1.19.0-arm-linux-musl.gem 0811dfd936d5f6dd3f6d32ef790568bf29b2b7bead9ba68866847b33c9cf5810 nokogiri-1.19.0-arm64-darwin.gem 5f3a70e252be641d8a4099f7fb4cc25c81c632cb594eec9b4b8f2ca8be4374f3 nokogiri-1.19.0-java.gem 05d7ed2d95731edc9bef2811522dc396df3e476ef0d9c76793a9fca81cab056b nokogiri-1.19.0-x64-mingw-ucrt.gem 1dad56220b603a8edb9750cd95798bffa2b8dd9dd9aa47f664009ee5b43e3067 nokogiri-1.19.0-x86_64-darwin.gem f482b95c713d60031d48c44ce14562f8d2ce31e3a9e8dd0ccb131e9e5a68b58c nokogiri-1.19.0-x86_64-linux-gnu.gem 1c4ca6b381622420073ce6043443af1d321e8ed93cc18b08e2666e5bd02ffae4 nokogiri-1.19.0-x86_64-linux-musl.gem e304d21865f62518e04f2bf59f93bd3a97ca7b07e7f03952946d8e1c05f45695 nokogiri-1.19.0.gem
1.18.10
v1.18.10 / 2025-09-15
Dependencies
- [CRuby] Vendored libxml2 is updated to v2.13.9. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.
- [CRuby] [Windows and MacOS] Vendored libiconv is updated to v1.18
sha256 checksums
7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344 nokogiri-1.18.10-aarch64-linux-gnu.gem 7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944 nokogiri-1.18.10-aarch64-linux-musl.gem 51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322 nokogiri-1.18.10-arm-linux-gnu.gem 1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa nokogiri-1.18.10-arm-linux-musl.gem c2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85 nokogiri-1.18.10-arm64-darwin.gem cd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5 nokogiri-1.18.10-java.gem 64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104 nokogiri-1.18.10-x64-mingw-ucrt.gem 536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2 nokogiri-1.18.10-x86_64-darwin.gem ff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72 nokogiri-1.18.10-x86_64-linux-gnu.gem 0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385 nokogiri-1.18.10-x86_64-linux-musl.gem d5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1 nokogiri-1.18.10.gem
1.18.9
v1.18.9 / 2025-07-20
Security
- [CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See GHSA-353f-x4gh-cqq8 for more information.
sha256 checksums
5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32 nokogiri-1.18.9-aarch64-linux-gnu.gem 55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7 nokogiri-1.18.9-aarch64-linux-musl.gem eea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979 nokogiri-1.18.9-arm64-darwin.gem fe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e nokogiri-1.18.9-arm-linux-gnu.gem 935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324 nokogiri-1.18.9-arm-linux-musl.gem ac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33 nokogiri-1.18.9.gem 1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5 nokogiri-1.18.9-java.gem 6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3 nokogiri-1.18.9-x64-mingw-ucrt.gem e0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348 nokogiri-1.18.9-x86_64-darwin.gem b52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360 nokogiri-1.18.9-x86_64-linux-gnu.gem e69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69 nokogiri-1.18.9-x86_64-linux-musl.gem
1.18.8
v1.18.8 / 2025-04-21
Security
- [CRuby] Vendored libxml2 is updated to v2.13.8 to address CVE-2025-32414 and CVE-2025-32415. See GHSA-5w6v-399v-w3cc for more information.
sha256 checksums
36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e nokogiri-1.18.8-aarch64-linux-gnu.gem 664e0f9a77a7122a66d6c03abba7641ca610769a4728db55ee1706a0838b78a2 nokogiri-1.18.8-aarch64-linux-musl.gem 483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212 nokogiri-1.18.8-arm64-darwin.gem 17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e nokogiri-1.18.8-arm-linux-gnu.gem 6e6d7e71fc39572bd613a82d528cf54392c3de1ba5ce974f05c832b8187a040b nokogiri-1.18.8-arm-linux-musl.gem 8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365 nokogiri-1.18.8.gem 41002596960ff854198a20aaeb34cff0d445406d5ad85ba7ca9c3fd0c8f03de0 nokogiri-1.18.8-java.gem 11ab0f76772c5f2d718fb253fca5b74c6ef7628b72bbf8deba6ab1ffc93344cf nokogiri-1.18.8-x64-mingw-ucrt.gem 024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c nokogiri-1.18.8-x86_64-darwin.gem 4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc nokogiri-1.18.8-x86_64-linux-gnu.gem ddd735fba49475a395b9ea793bb6474e3a3125b89960339604d08a5397de1165 nokogiri-1.18.8-x86_64-linux-musl.gem
1.18.7
v1.18.7 / 2025-03-31
Dependencies
- [CRuby] Vendored libxml2 is updated to v2.13.7, which is a bugfix release.
sha256 checksums
57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f nokogiri-1.18.7-aarch64-linux-gnu.gem 3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3 nokogiri-1.18.7-aarch64-linux-musl.gem 083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5 nokogiri-1.18.7-arm64-darwin.gem 337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e nokogiri-1.18.7-arm-linux-gnu.gem 97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e nokogiri-1.18.7-arm-linux-musl.gem 6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31 nokogiri-1.18.7.gem 2cb83666f35619ec59d24d831bf492e49cfe27b112c222330ee929737f42f2eb nokogiri-1.18.7-java.gem 681148fbc918aa5d54933d8b48aeb9462ab708d23409797ed750af961107f72b nokogiri-1.18.7-x64-mingw-ucrt.gem 081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7 nokogiri-1.18.7-x86_64-darwin.gem 3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005 nokogiri-1.18.7-x86_64-linux-gnu.gem 9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af nokogiri-1.18.7-x86_64-linux-musl.gem
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 34 commits:
version bump to v1.19.0dev: convert scripts/test-gem-set to use misedep: Add native Ruby 4 support, drop Ruby 3.1 support (v1.19.x) (#3592)Skip the parser compression test for Windows system libsci: temporarily pin to setup-ruby with windows ruby 4dep: update to minitest 6dep: require JRuby >= 10.0dep: add support for native Ruby 4.0 gemci: bump versions in CI imagesci: avoid bundler collisions in downstream testsci: use arm64 hosts to speed things updep: make sure rdoc is an optional dependencydep(dev): drop explicit Bundler dependencyversion bump to v1.18.10dep: bump vendored libxml2 to v2.13.9 (#3555)ci: work around repeated bundler deadlocksdep: bump vendored libxml2 to v2.13.9[v1.18.x] backport libiconv upgrade to v1.18 (#3550)dep: update vendored libiconv to 1.18Use mirror site to download libiconvci: stop testing Ruby 3.1 windows source buildsci: fix the aarch64 segfault by using a more modern qemuFix errors building Ruby 3.1 on windowsFix errors building Ruby 3.1 on macos 15version bump to v1.18.9Apply upstream patches to address multiple vulnerabilities (#3526)Apply upstream patches to address multiple vulnerabilitiesversion bump to v1.18.8dep: libxml2 to v2.13.8 (branch `v1.18.x`) (#3509)dep: libxml2 to v2.13.8version bump to v1.18.7dep: bump libxml2 to 2.13.7 (v1.18.x backport) (#3495)dep: bump libxml2 to 2.13.7dep(dev): drop Rubocop from JRuby deps
↗️ mini_portile2 (indirect, 2.8.8 → 2.8.9) · Repo · Changelog
Release Notes
2.8.9
2.8.9 / 2025-05-12
Ruby support
- Import only what's needed from
cgi, for supporting Ruby 3.5. #160 @EarlopainNew Contributors
- @kenhys made their first contribution in #156
- @Earlopain made their first contribution in #160
Full Changelog: v2.8.8...v2.8.9
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 13 commits:
version bump to v2.8.9Merge pull request #160 from Earlopain/cgi-ruby-3.5Only load what is required from `cgi`Merge pull request #159 from flavorjones/flavorjones/ci-openbsd-202505ci: update ruby in the openbsd jobsMerge pull request #157 from flavorjones/flavorjones/fix-windows-cmake-testsci: windows images no longer support older cmake versionsMerge pull request #156 from kenhys/update-ciAdd CI for Ruby 3.4Merge pull request #155 from flavorjones/flavorjones-ci-logger-fixdev: add logger to the GemfileMerge pull request #154 from flavorjones/flavorjones-ci-fix-test-examples-macos-libiconvci: brew install libiconv for test-examples on macos
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.
All Depfu comment commands
- @depfu rebase
- Rebases against your default branch and redoes this update
- @depfu recreate
- Recreates this PR, overwriting any edits that you've made to it
- @depfu merge
- Merges this PR once your tests are passing and conflicts are resolved
- @depfu cancel merge
- Cancels automatic merging of this PR
- @depfu close
- Closes this PR and deletes the branch
- @depfu reopen
- Restores the branch and reopens this PR (if it's closed)
- @depfu pause
- Ignores all future updates for this dependency and closes this PR
- @depfu pause [minor|major]
- Ignores all future minor/major updates for this dependency and closes this PR
- @depfu resume
- Future versions of this dependency will create PRs again (leaves this PR as is)