🚨 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.
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.
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.
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.
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)
🚨 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?
✳️ rexml (3.3.1 → 3.3.6) · Repo · Changelog
Security Advisories 🚨
🚨 REXML denial of service vulnerability
🚨 REXML DoS vulnerability
🚨 REXML DoS vulnerability
🚨 REXML denial of service vulnerability
Release Notes
3.3.6
3.3.5
3.3.4
3.3.3
3.3.2
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 69 commits:
Add 3.3.6 entry
parser tree: improve namespace conflicted attribute check performance
Fix a bug that Stream parser doesn't expand the user-defined entity references for "text" (#200)
parser: keep the current namespaces instead of stack of Set
parser: move duplicated end tag check to BaseParser
test tree-parser: move common method to base class
test: fix indent
test: fix indent
Use loop instead of recursive call for Element#namespace
Use loop instead of recursive call for Element#root
test: split duplicated attribute case and namespace conflict case
Fix to not allow parameter entity references at internal subsets (#191)
Fix RuntimeError in `REXML::Parsers::BaseParser` for valid feeds (#199)
Improve `BaseParser#unnormalize` (#194)
Bump version
Add 3.3.5 entry
Fix calculation of Security.entity_expansion_text_limit in SAX/pull parsers (#195)
Bump version
Add 3.3.4 entry
Add missing rexml/security require in rexml/parsers/baseparser.rb (#189)
Bump version
Add 3.3.3 entry
test: add a performance test for attribute list declaration
test: fix wrong test name
test: use double quote for string literal
test: don't use abbreviated name
test: add a performance test for PI with many tabs
parse pi: improve invalid case detection
test: fix a typo
test: use double quote for string literal
test: add performance tests for entity declaration
test: use double quote for string literal
test: add a performance test for %...; in document declaration
test: use double quote for string literal
test: fix location
Fix source.match performance without specifying term string (#186)
Add support for XML entity expansion limitation in SAX and pull parsers (#187)
Add more invalid test cases for parsing entitly declaration (#183)
Add support for detecting invalid XML that has unsupported content before root element (#184)
Fix method scope in test in order to invoke the tests properly and fix exception message (#182)
Add missing references in 3.3.2 entry
Bump version
Add 3.3.2 entry
test: improve linear performance test names
Fix performance issue caused by using repeated `>` characters inside `<xml><!-- --></xml>` (#177)
Fix ReDoS by using repeated space characters inside `<!DOCTYPE name [<!ATTLIST>]>` (#176)
Suppress have_root not initialized warnings on Ruby < 3
Fix performance issue caused by using repeated `>` characters inside `<!DOCTYPE name [<!ENTITY>]>` (#175)
Fix performance issue caused by using repeated `>` characters inside `<!DOCTYPE root [<!-- PAYLOAD -->]>` (#174)
Fix performance issue caused by using repeated `>` characters after ` <!DOCTYPE name` (#173)
Fix performance issue caused by using repeated `>` characters inside `CDATA [ PAYLOAD ]` (#172)
Fix performance issue caused by using repeated `>` characters inside comments (#171)
Fix ReDoS caused by very large character references using repeated 0s (#169)
Fix performance issue caused by using repeated `>` characters inside `<?xml` (#170)
Fix a bug that SAX2 parser doesn't expand the predefined entities for "characters" (#168)
Do not output :text event after the root tag is closed (#167)
test Text.check: add entity reference with new line case
test Text.check: add a space at the start in character reference cases
test Text.check: use "why" for test name
test Text.check: add garbage at the end in character reference cases
test Text.check: add empty reference case
Fix test for Text.check (#166)
Add tests for REXML::Text.check (#165)
Stop adding extra new line after XML declaration with pretty format (#164)
test: move an attribute value test to parse/test_element.rb
Add position check for XML declaration (#162)
fix: Extra content at the end of the document (#161)
Optimize BaseParser#unnormalize method to replace "\r\n" with "\n" only when "\r\n" is included (#160)
Bump version
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