Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚨 [security] Update webmock 3.19.1 → 3.24.0 (minor) #391

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

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Oct 1, 2024


🚨 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?

✳️ webmock (3.19.1 → 3.24.0) · Repo · Changelog

Release Notes

3.24.0 (from changelog)

  • Ignore parsing errors when parsing invalid JSON or XML body to match against body pattern #1066

    Thanks to Christian Schmidt

  • Added support for mocked HTTP::Connection#finished_request? method #1065

    Thanks to Christian Schmidt

  • Detect if Patron is loaded by checking if Patron::Session constant is defined #1068

    Thanks to Rodrigo Argumedo

  • Raising an ArgumentError when uri is passed as a Pathname object to stub_request or request expectation declaration.

  • Dropped support for em-http-request on Ruby 3.4. The current version of em-http-request (1.1.7) is incompatible with Ruby 3.4 due to an unresolved issue (igrigorik/em-http-request#365). Support for em-http-request will be re-enabled once the compatibility issue is resolved.

    Thanks to Christian Schmidt

3.23.1 (from changelog)

3.23.0 (from changelog)

  • Fixed HTTP.rb adapter to support streaming real responses when WebMock is enabled.

    Thanks to Viacheslav Nepomniashchikh for reporting and investigating this issue.

3.22.0 (from changelog)

  • Addressed an issue in the HTTPClient adapter where memoized stubbed responses and memoized request_signatures were incorrectly persisted between subsequent requests (#1019). The implementation of a more robust thread-safety solution by Tom Beauvais in PR #300 not only resolved the memoization problem but also enhanced the overall thread safety of the adapter. This update ensures that stubbed responses and request signatures are correctly isolated to individual requests, improving both consistency and thread safety.

3.21.2 (from changelog)

  • Corrected type checking in WebMock::Response#assert_valid_body! to accurately recognize Hash objects. Additionally, improved the clarity of the error message for unsupported body types, guiding users towards proper usage.

    Thanks to Jake Robb for reporting.

3.21.1 (from changelog)

  • The stubbed Net::HTTPResponse#uri now returns request.uri, aligning it with the behavior of an actual Net::HTTPResponse.

    Thanks to Abe Voelker for reporting and to Victor Maslov and Gio Lodi for the suggested solution.

3.21.0 (from changelog)

  • Don't use deprecated Rack::VERSION for Rack >= 3

    Thanks to Étienne Barrié

  • Updated HTTPClient adapter, to build request signature using the URI after filters have been applied.

    Thanks to Matt Brown

3.20.0 (from changelog)

  • Optimised EmHttpRequestAdapter performance.

    Thanks to Ricardo Trindade

  • Removed runtime dependency on base64.

    Thanks to Earlopain

  • Typhoeus::Response objects constructed from stubbed responses now have all timing attributes set to 0.0.

    Thanks to James Brown

  • Optimised WebMock::Util::Headers by removing redundant freeze invocations.

    Thanks to Kazuhiro NISHIYAMA

  • The default stubbed response body, which is an empty String, is unfrozen.

  • When building signatures of requests made by http.rb, the request body encoding is now preserved.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 72 commits:

↗️ addressable (indirect, 2.8.6 → 2.8.7) · Repo · Changelog

Release Notes

2.8.7 (from changelog)

  • Allow public_suffix 6 (#535)

Does any of this look wrong? Please let us know.

↗️ crack (indirect, 0.4.5 → 1.0.0) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by 14 commits:

↗️ hashdiff (indirect, 1.0.1 → 1.1.1) · Repo · Changelog

Release Notes

1.1.1 (from changelog)

1.1.0 (from changelog)

  • Add ignore_keys option (#86 @MatzFan)
  • Remove pinned version of rake < 11
  • Bump rspec dep ~> 3.5
  • Bump rubocop dep >= 1.52.1
  • Bump rubocop-rspec dep > 1.16.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 19 commits:

↗️ public_suffix (indirect, 5.0.4 → 6.0.1) · Repo · Changelog

Release Notes

6.0.1 (from changelog)

Changed

  • Updated definitions.

6.0.0 (from changelog)

Same as 5.1.0. Re-releasing as a major version change due to a major ruby version requirement change.

Changed

  • Updated definitions.
  • Minimum Ruby version is 3.0

5.1.1 (from changelog)

No significant changes. Releasing a mini version to address 5.1.0 release with major ruby requirement change (GH-315).

5.1.0 (from changelog)

Changed

  • Updated definitions.
  • Minimum Ruby version is 3.0

5.0.5 (from changelog)

Changed

  • Updated definitions.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 66 commits:

↗️ rexml (indirect, 3.2.8 → 3.3.8) · Repo · Changelog

Security Advisories 🚨

🚨 REXML denial of service vulnerability

Impact

The REXML gem before 3.3.6 has a DoS vulnerability when it parses an XML that has many deep elements that have same local name attributes.

If you need to parse untrusted XMLs with tree parser API like REXML::Document.new, you may be impacted to this vulnerability. If you use other parser APIs such as stream parser API and SAX2 parser API, this vulnerability is not affected.

Patches

The REXML gem 3.3.6 or later include the patch to fix the vulnerability.

Workarounds

Don't parse untrusted XMLs with tree parser API.

References

🚨 REXML DoS vulnerability

Impact

The REXML gem before 3.3.2 has a DoS vulnerability when it parses an XML that has many entity expansions with SAX2 or pull parser API.

If you need to parse untrusted XMLs with SAX2 or pull parser API, you may be impacted to this vulnerability.

Patches

The REXML gem 3.3.3 or later include the patch to fix the vulnerability.

Workarounds

Don't parse untrusted XMLs with SAX2 or pull parser API.

References

🚨 REXML DoS vulnerability

Impact

The REXML gem before 3.3.2 has some DoS vulnerabilities when it parses an XML that has many specific characters such as whitespace character, >] and ]>.

If you need to parse untrusted XMLs, you may be impacted to these vulnerabilities.

Patches

The REXML gem 3.3.3 or later include the patches to fix these vulnerabilities.

Workarounds

Don't parse untrusted XMLs.

References

🚨 REXML denial of service vulnerability

Impact

The REXML gem before 3.3.1 has some DoS vulnerabilities when it parses an XML that has many specific characters such as <, 0 and %>.

If you need to parse untrusted XMLs, you may be impacted to these vulnerabilities.

Patches

The REXML gem 3.3.2 or later include the patches to fix these vulnerabilities.

Workarounds

Don't parse untrusted XMLs.

References

Release Notes

3.3.8

Improvements

  • SAX2: Improve parse performance.

Fixes

  • Fixed a bug that unexpected attribute namespace conflict error for
    the predefined "xml" namespace is reported.
    • GH-208
    • Patch by KITAITI Makoto

Thanks

  • NAITOH Jun

  • KITAITI Makoto

3.3.7

Improvements

  • Added local entity expansion limit methods

    • GH-192
    • GH-202
    • Reported by takuya kodama.
    • Patch by NAITOH Jun.
  • Removed explicit strscan dependency

    • GH-204
    • Patch by Bo Anderson.

Thanks

  • takuya kodama

  • NAITOH Jun

  • Bo Anderson

3.3.6

Improvements

  • Removed duplicated entity expansions for performance.

    • GH-194
    • Patch by Viktor Ivarsson.
  • Improved namespace conflicted attribute check performance. It was
    too slow for deep elements.

    • Reported by l33thaxor.

Fixes

  • Fixed a bug that default entity expansions are counted for
    security check. Default entity expansions should not be counted
    because they don't have a security risk.

  • Fixed a parser bug that parameter entity references in internal
    subsets are expanded. It's not allowed in the XML specification.

  • Fixed a stream parser bug that user-defined entity references in
    text aren't expanded.

Thanks

  • Viktor Ivarsson

  • NAITOH Jun

  • l33thaxor

3.3.5

Fixes

  • Fixed a bug that REXML::Security.entity_expansion_text_limit
    check has wrong text size calculation in SAX and pull parsers.
    • GH-193
    • GH-195
    • Reported by Viktor Ivarsson.
    • Patch by NAITOH Jun.

Thanks

  • Viktor Ivarsson

  • NAITOH Jun

3.3.4

Fixes

  • Fixed a bug that REXML::Security isn't defined when
    REXML::Parsers::StreamParser is used and
    rexml/parsers/streamparser is only required.
    • GH-189
    • Patch by takuya kodama.

Thanks

  • takuya kodama

3.3.3

Improvements

  • Added support for detecting invalid XML that has unsupported
    content before root element

  • Added support for REXML::Security.entity_expansion_limit= and
    REXML::Security.entity_expansion_text_limit= in SAX2 and pull
    parsers

  • Added more tests for invalid XMLs.

  • Added more performance tests.

    • Patch by Watson.
  • Improved parse performance.

    • GH-186
    • Patch by tomoya ishida.

Thanks

  • NAITOH Jun

  • Watson

  • tomoya ishida

3.3.2

Improvements

  • Improved parse performance.

  • Improved parse performance.

  • Added support for raising a parse exception when an XML has extra
    content after the root element.

  • Added support for raising a parse exception when an XML
    declaration exists in wrong position.

  • Removed needless a space after XML declaration in pretty print mode.

  • Stopped to emit :text event after the root element.

Fixes

  • Fixed a bug that SAX2 parser doesn't expand predefined entities for
    characters callback.

Thanks

  • NAITOH Jun

  • Watson

3.3.1

Improvements

  • Added support for detecting malformed top-level comments.

    • GH-145
    • Patch by Hiroya Fujinami.
  • Improved REXML::Element#attribute performance.

    • GH-146
    • Patch by Hiroya Fujinami.
  • Added support for detecting malformed <!--> comments.

    • GH-147
    • Patch by Hiroya Fujinami.
  • Added support for detecting unclosed DOCTYPE.

    • GH-152
    • Patch by Hiroya Fujinami.
  • Added changlog_uri metadata to gemspec.

  • Improved parse performance.

Fixes

  • Fixed a bug that large XML can't be parsed.

  • Fixed a bug that private constants are visible.

Thanks

  • Hiroya Fujinami

  • NAITOH Jun

  • fynsta

3.3.0

Improvements

  • Added support for strscan 0.7.0 installed with Ruby 2.6.
    • GH-142
    • Reported by Fernando Trigoso.

Thanks

  • Fernando Trigoso

3.2.9

Improvements

  • Added support for old strscan.

  • Improved attribute value parse performance.

  • Improved REXML::Node#each_recursive performance.

  • Improved text parse performance.

    • Reported by mprogrammer.

Thanks

  • Adam
  • NAITOH Jun
  • Hiroya Fujinami
  • mprogrammer

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

🗑️ strscan (removed)


Depfu Status

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)

@depfu depfu bot added the depfu label Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants