-
-
Notifications
You must be signed in to change notification settings - Fork 574
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
Fix for CVE-2017-11428 does not normalize text before returning it #445
Comments
I ended up creating pull request #446 to address this. If you decide it looks good once you review it, can a new version be released that has this fix? It's currently blocking our ability to deploy the fix for CVE-2017-11428. Thanks! |
I noticed you also backported the fix for CVE-2017-11428 to prior versions of ruby-saml too, so you may want to consider backporting this fix to those versions too. |
Hi, thanks for that research. We gonna review it and see if that change have any other implications and merge it asap when validated. |
Version 1.7.2 is live, thank for your research and PR |
The fix for CVE-2017-11428 essentially replaced the call to
element.text
withelement.texts.join
. However, the behavior oftext
differs fromtexts
in the following way (emphasis mine):texts
does not normalize the text before returning it. This primarily breaks cases where the raw text contains elements that are escaped. Here's an example of the main difference:Proposed fix
Since
REXML::Element#text
callsREXML::Text#value
to normalize the text value, change the call toelements.texts.join
withelements.texts.map(&:value).join
to normalize the text before returning it:I can look into creating a pull request for this fix if you agree.
The text was updated successfully, but these errors were encountered: