Bump @xmldom/xmldom from 0.8.13 to 0.8.15
Type: Pull Request
State: Open
Association: Unknown
Comments: 3
(about 2 months ago)
(about 2 months ago)
dependencies javascript
Bumps @xmldom/xmldom from 0.8.13 to 0.8.15.
Release notes
Sourced from @xmldom/xmldom's releases.
0.8.15
Fixed
- Security: parsing a deeply or repeatedly namespaced document no longer consumes quadratic memory; the in-scope namespace map is inherited through the prototype chain instead of being copied for every prefix-declaring element (O(N) instead of O(N²)), preventing a denial-of-service reachable from
DOMParser.parseFromStringwith default options. Serialized output is byte-identical.GHSA-965w-775f-mr7g- Security: attribute de-duplication during parsing is now O(M) instead of O(M²); the
NamedNodeMapparse-time dedup path uses a null-prototype membership index, so a well-formed document with a hostile number of duplicate attributes can no longer wedge the parse. Attribute order and duplicate resolution (last value wins, first position kept) are byte-identical, preserving the XML no-duplicate-attributes well-formedness constraint.GHSA-8344-3jmq-59r6- Security: trimming trailing whitespace from an XML end tag (
ETag) is now anchored so it runs in linear time instead of backtracking quadratically on a long whitespace run, preventing a ReDoS reachable fromDOMParser.parseFromString. Trimmed output is byte-identical.GHSA-x4fp-j954-r2f4- Security: malformed-input recovery is now linear instead of quadratic — the malformed tag-name scan terminates at an embedded
<, andNode.prototype.normalize()merges adjacent text nodes in O(K) instead of O(K²) (also reachable programmatically), pernormalize()in the WHATWG DOM spec. DOM output is unchanged; only the reported error text differs.GHSA-93r5-fhx6-vmg9- Security:
XMLSerializer.serializeToString()under{ requireWellFormed: true }now rejects a DocTypenamethat is not a valid XMLName, throwingInvalidStateError— matching the siblingpublicId/systemId/internalSubsetchecks and preventing XML injection viaDocumentType.name.GHSA-27p8-2357-5qqv- Security:
XMLSerializer.serializeToString()under{ requireWellFormed: true }now validates a processing-instruction target as an XMLNCNameand rejects a case-insensitivexml, throwingInvalidStateError— a check0.8.xdid not previously perform, preventing PI-target injection via>,?, or whitespace.GHSA-c7q8-3ch8-vqpv- Security:
Document.createEntityReference()now rejects an invalid XMLNameat creation, andXMLSerializer.serializeToString()under{ requireWellFormed: true }validates anEntityReferencenodeNameas an XMLName, throwingInvalidStateError— preventing XML injection via an entity-reference name.GHSA-6gmq-8vp8-gcm6- Security: the parser now reports a not-well-formed end tag whose valid name is followed by trailing content as a recoverable
errorinstead of accepting it silently, per the XMLETagproduction; parsing recovers to the byte-identical DOM. Consumers that want strict rejection can escalate the reportederrorto fatal via the parser'serrorHandler.GHSA-6h8r-xr42-gp59Thank you,
@ericchiang,@bhaswanthc,@arpitjain099,@Paranoidgrinch, for your contributions0.8.14
Fixed
- Security:
XMLSerializer.serializeToString()now also rejects invalid element and attribute names when{ requireWellFormed: true }is passed, throwingInvalidStateErrorfor a name that is not a valid XMLQName(this covers the namespace prefix, which surfaces in the element qualified name or in a synthesizedxmlns:declaration). This prevents XML injection viacreateElement()/setAttribute(), extending the existingrequireWellFormedchecks to the serialized name set.GHSA-w2rr-34g9-rvrjGHSA-4w3w-2rp5-g8jmThank you,
@bhaswanthc,@jmestwa-coder, for your contributions
Changelog
Sourced from @xmldom/xmldom's changelog.
0.8.15
Fixed
- Security: parsing a deeply or repeatedly namespaced document no longer consumes quadratic memory; the in-scope namespace map is inherited through the prototype chain instead of being copied for every prefix-declaring element (O(N) instead of O(N²)), preventing a denial-of-service reachable from
DOMParser.parseFromStringwith default options. Serialized output is byte-identical.GHSA-965w-775f-mr7g- Security: attribute de-duplication during parsing is now O(M) instead of O(M²); the
NamedNodeMapparse-time dedup path uses a null-prototype membership index, so a well-formed document with a hostile number of duplicate attributes can no longer wedge the parse. Attribute order and duplicate resolution (last value wins, first position kept) are byte-identical, preserving the XML no-duplicate-attributes well-formedness constraint.GHSA-8344-3jmq-59r6- Security: trimming trailing whitespace from an XML end tag (
ETag) is now anchored so it runs in linear time instead of backtracking quadratically on a long whitespace run, preventing a ReDoS reachable fromDOMParser.parseFromString. Trimmed output is byte-identical.GHSA-x4fp-j954-r2f4- Security: malformed-input recovery is now linear instead of quadratic — the malformed tag-name scan terminates at an embedded
<, andNode.prototype.normalize()merges adjacent text nodes in O(K) instead of O(K²) (also reachable programmatically), pernormalize()in the WHATWG DOM spec. DOM output is unchanged; only the reported error text differs.GHSA-93r5-fhx6-vmg9- Security:
XMLSerializer.serializeToString()under{ requireWellFormed: true }now rejects a DocTypenamethat is not a valid XMLName, throwingInvalidStateError— matching the siblingpublicId/systemId/internalSubsetchecks and preventing XML injection viaDocumentType.name.GHSA-27p8-2357-5qqv- Security:
XMLSerializer.serializeToString()under{ requireWellFormed: true }now validates a processing-instruction target as an XMLNCNameand rejects a case-insensitivexml, throwingInvalidStateError— a check0.8.xdid not previously perform, preventing PI-target injection via>,?, or whitespace.GHSA-c7q8-3ch8-vqpv- Security:
Document.createEntityReference()now rejects an invalid XMLNameat creation, andXMLSerializer.serializeToString()under{ requireWellFormed: true }validates anEntityReferencenodeNameas an XMLName, throwingInvalidStateError— preventing XML injection via an entity-reference name.GHSA-6gmq-8vp8-gcm6- Security: the parser now reports a not-well-formed end tag whose valid name is followed by trailing content as a recoverable
errorinstead of accepting it silently, per the XMLETagproduction; parsing recovers to the byte-identical DOM. Consumers that want strict rejection can escalate the reportederrorto fatal via the parser'serrorHandler.GHSA-6h8r-xr42-gp59Thank you,
@ericchiang,@bhaswanthc,@arpitjain099,@Paranoidgrinch, for your contributions0.9.11
Fixed
- Security:
XMLSerializer.serializeToString()now also rejects invalid element and attribute names when{ requireWellFormed: true }is passed, throwingInvalidStateErrorfor a name that is not a valid XMLQName(this covers the namespace prefix, which surfaces in the element qualified name or in a synthesizedxmlns:declaration). This prevents XML injection viacreateElement()/setAttribute(), extending the existingrequireWellFormedchecks to the serialized name set.GHSA-w2rr-34g9-rvrjGHSA-4w3w-2rp5-g8jm- Security: the processing-instruction grammar regex no longer backtracks quadratically on an unterminated processing instruction (
<?…with no closing?>), preventing a denial-of-service (ReDoS) reachable fromDOMParser.parseFromStringwith default options.GHSA-g53g-w8rj-fmg7CharacterDatanodeValueanddataare now kept in sync[#990](https://github.com/xmldom/xmldom/issues/990)Chore
- updated dependencies
Thank you,
@bhaswanthc,@jmestwa-coder,@stevenobiajulu, for your contributions0.8.14
Fixed
- Security:
XMLSerializer.serializeToString()now also rejects invalid element and attribute names when{ requireWellFormed: true }is passed, throwingInvalidStateErrorfor a name that is not a valid XMLQName(this covers the namespace prefix, which surfaces in the element qualified name or in a synthesizedxmlns:declaration). This prevents XML injection viacreateElement()/setAttribute(), extending the existingrequireWellFormedchecks to the serialized name set.GHSA-w2rr-34g9-rvrjGHSA-4w3w-2rp5-g8jmThank you,
@bhaswanthc,@jmestwa-coder, for your contributions0.9.10
... (truncated)
Commits
b5b8fb50.8.15327508edocs: add 0.8.15 CHANGELOG entryf40ccb8fix: prevent quadratic malformed-tag recovery and normalize() adjacent-text m...3abb093fix: prevent end-tag whitespace-trim ReDoS via anchored trim (GHSA-x4fp-j954-...2c548f2fix: prevent quadratic attribute de-duplication via null-prototype membership...08a74b4test: characterize NamedNodeMap attribute de-duplication before the index ref...954370ffix: prevent quadratic namespace-map memory consumption via prototype-chain i...4430189fix: report not-well-formed end-tag trailing content (GHSA-6h8r-xr42-gp59)6c3fb5ffix: prevent XML injection via unsafe EntityReference name (GHSA-6gmq-8vp8-gcm6)3b69487fix: prevent XML injection via unsafe processing instruction target serializa...- Additional commits viewable in compare view
Maintainer changes
This version was pushed to npm by karfau, a new releaser for @xmldom/xmldom since your current version.
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.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.
Package Dependencies
Technical Details
| ID: | 16177842 |
| UUID: | 5332105857 |
| Node ID: | PR_kwDOPXvspc8AAAABB_4Ndw |
| Host: | GitHub |
| Repository: | CleanExpo/Synthex |