Harden XSLT step against XXE attacks - #453
Conversation
gibson9583
left a comment
There was a problem hiding this comment.
Requesting changes before merge.
The new parsing path breaks valid XSLT transformations when a channel uses Xerces. The batch endpoint added in this PR also has two issues: it can report success without accepting a batch, and it retains all processed message payloads.
Please address the three inline comments. The two batch API issues also apply to PR #452 because both PRs include the same API change.
gibson9583
left a comment
There was a problem hiding this comment.
good to merge, items raised are non-blocking
Originally authored by JonB. Separated tests from fix. See feeec8d. Signed-off-by: Jon Bartels <jonathan.bartels@gmail.com> Signed-off-by: Mitch Gaffigan <mitch.gaffigan@comcast.net>
d1a05e2
b1a5281 to
d1a05e2
Compare
tonygermano
left a comment
There was a problem hiding this comment.
I had requested in #452 that the commit messages be expanded. That applies here, too, especially since this PR has the same or similar commit that prompted the request in the other PR.
d1a05e2 to
659eec4
Compare
You're welcome to rewrite the commit messages - I said everything I would think to say in them (short of asking a clanker to bloviate). If someone wants to know "what" changed, they have the git diff. I'm focusing on the "why". |
@mgaffigan No longer necessary on this PR. You removed the large duplicate commit that also appears in the other PR. The remaining changes are small enough to not need additional explanation. |
Parses the untrusted XML securely to prevent XXE attacks. Retains trust of the XML Stylesheet since that is not attacker controlled. Breaking change: XML messages cannot contain DOCTYPE declarations. Signed-off-by: Mitch Gaffigan <mitch.gaffigan@comcast.net>
659eec4 to
883de45
Compare
Parses the untrusted XML securely to prevent XXE attacks. Retains trust of the XML Stylesheet since that is not attacker controlled.
Review notes: