Skip to content

chore(deps): update dependency nokogiri to v1.19.3 [security]#5168

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rubygems-nokogiri-vulnerability
Open

chore(deps): update dependency nokogiri to v1.19.3 [security]#5168
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/rubygems-nokogiri-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 8, 2026

This PR contains the following updates:

Package Change Age Confidence
nokogiri 1.19.21.19.3 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Nokogiri CSS selector tokenizer has regular expression backtracking

GHSA-c4rq-3m3g-8wgx

More information

Details

Summary

Nokogiri's CSS selector tokenizer contains regular expressions whose construction may result in exponential regex backtracking on adversarial selectors. Three ReDoS vectors are addressed in this release:

  1. String-literal tokenization on certain unterminated quoted-string input.
  2. String-literal tokenization on a separate class of hex-escape-rich input.
  3. Identifier tokenization on hex-escape-rich input.

The public CSS selector methods that funnel through the affected tokenizer are Nokogiri::CSS.xpath_for, Node#css, Node#at_css, Searchable#search, and CSS::Parser#parse.

Mitigation

Upgrade to Nokogiri >= 1.19.3.

If users are unable to upgrade, two options are available:

  • Avoid the use of attacker-controlled text in CSS selectors. Applications that only pass developer-authored selectors to Nokogiri are not directly exposed.
  • Set global Regexp.timeout (Ruby 3.2+, JRuby 9.4+) to bound parse time.
Severity

The Nokogiri maintainers have evaluated this as High Severity (CVSS 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).

An attacker able to inject user-supplied text into a CSS selector parse method can cause exponential backtracking, resulting in a potential denial of service.

Resources
Credit

Vector 1 was responsibly reported by @​colby-swandale. Vectors 2 and 3 were discovered by @​flavorjones during the response to the original report.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Nokogiri XSLT transform has a memory leak

GHSA-v2fc-qm4h-8hqv

More information

Details

Summary

Nokogiri's Nokogiri::XSLT::Stylesheet#transform leaks a small heap allocation when passed a Ruby string parameter containing a null byte.

For applications that pass attacker-controlled input through XSLT.transform parameters, this may be a vector for a denial of service attack against long-running processes.

Mitigation

Upgrade to Nokogiri >= 1.19.3.

Users may also be able to mitigate this issue without upgrading by validating untrusted transform parameters before passing them to Nokogiri::XSLT::Stylesheet#transform.

Severity

The Nokogiri maintainers have evaluated this as Moderate Severity, CVSS 5.3.

Each leaked allocation is approximately 24–32 bytes, so meaningful memory growth requires sustained attacker-controlled traffic at high call rates. The bug does not cause memory corruption, information disclosure, or any change in the behavior of the transform itself, and the string-handling exception is raised as expected.

Applications that do not pass raw attacker-controlled bytes to XSLT parameters are unlikely to be affected in practice.

Resources
Credit

This vulnerability was responsibly reported by @​Captainjack-kor.

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner May 8, 2026 15:26
@renovate renovate Bot added the review:tech label May 8, 2026
@netlify
Copy link
Copy Markdown

netlify Bot commented May 8, 2026

Deploy Preview for kongdeveloper ready!

Name Link
🔨 Latest commit 2a87c51
🔍 Latest deploy log https://app.netlify.com/projects/kongdeveloper/deploys/6a0789e67fc4790008a82160
😎 Deploy Preview https://deploy-preview-5168--kongdeveloper.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@renovate renovate Bot force-pushed the renovate/rubygems-nokogiri-vulnerability branch 27 times, most recently from 85c775d to 2e2ea6b Compare May 12, 2026 18:56
@renovate renovate Bot force-pushed the renovate/rubygems-nokogiri-vulnerability branch from 4fd5be9 to b40c1d2 Compare May 13, 2026 13:55
@renovate renovate Bot changed the title Update dependency nokogiri to v1.19.3 [SECURITY] chore(deps): update dependency nokogiri to v1.19.3 [security] May 13, 2026
@renovate renovate Bot force-pushed the renovate/rubygems-nokogiri-vulnerability branch 26 times, most recently from bfc2ef6 to dd21765 Compare May 15, 2026 18:23
@renovate renovate Bot force-pushed the renovate/rubygems-nokogiri-vulnerability branch from dd21765 to 2a87c51 Compare May 15, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants