xmldom
xmldom copied to clipboard
xmldom adding xlmns to child nodes when parsing xmls with signatures
Hello, I am using the xmldom
through the xml-crypto
library and have found a weird behaviour.
When trying to parse an XML with multiple xml signatures, it sometimes automatically adds the "Root's" xlmns to some of the child nodes.
This can be recreated with the following code (Disclaimer: I have simplified the xml for this example):
const { DOMParser } = require("xmldom");
const xml = `<?xml version="1.0" encoding="ISO-8895-1"?>
<Root version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.example.com/TESTING" xsi:schemaLocation="http://www.example.com/test.xsd">
<SetPARENT ID="SETTEST">
<Summary version="1.0">
<IsoTime>2020-07-21T22:22:21.190</IsoTime>
</Caratula>
<PARENT version="1.0">
<Test ID="t1">
ran
</Test>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#t1">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>CTJpKxruUVvSyIMu0omvaZ6seCY=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>qffErt1fpxgOs8vJULHbzZggJs5Que9x8d9PFAPWZIukyeC1fkF0ZZiibXSPov103EkiZ9M6+2QXoHynswSA2eQ0sWQh2DEc87ah+VVfnWaVOHv20Hc0C7nSXjqsQj2o5GKZWVIRBNpH1HShdqCOxIveNxZBFnnMimuDodb+4gg=</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>vjGJjpGCGWQJ7ktM+l+pmBeAGQdxk53Cq33WFaIbae1jRkAmyjI8m8bVuj5zQjMwNEVhKmcALRGwim0idknq4dswxPQrNwP+Xq9XsiEANc/TutThHRmIcAoBm9DNeFMtAu6+6qrrLta3q3xEP9pf6XtF1i1E6O94Yqdfn1wpcPU=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>MIIGOzCCBSOgAwIBAgIKI8Km5AAAAAr9ejANBgkqhkiG9w0BAQUFADCB0jELMAkGA1UEBhMCQ0wxHTAbBgNVBAgTFFJlZ2lvbiBNZXRyb3BvbGl0YW5hMREwDwYDVQQHEwhTYW50aWFnbzEUMBIGA1UEChMLRS1DRVJUQ0hJTEUxIDAeBgNVBAsTF0F1dG9yaWRhZCBDZXJ0aWZpY2Fkb3JhMTAwLgYDVQQDEydFLUNFUlRDSElMRSBDQSBGSVJNQSBFTEVDVFJPTklDQSBTSU1QTEUxJzAlBgkqhkiG9w0BCQEWGHNjbGllbnRlc0BlLWNlcnRjaGlsZS5jbDAeFw0xODA1MDQwMDA2MjZaFw0yMTA1MDMwMDA2MjZaMIG8MQswCQYDVQQGEwJDTDEjMCEGA1UECBMaTUVUUk9QT0xJVEFOQSBERSBTQU5USUFHTyAxETAPBgNVBAcTCFNhbnRpYWdvMRQwEgYDVQQKEwtJTiBXSEFOIENIQTEhMB8GA1UECxMYU0VSVklDSU9TIERFIElORk9STUFUSUNBMRYwFAYDVQQDDA1JTiBXSEFOIENIQSAqMSQwIgYJKoZIhvcNAQkBFhV0b2traXNjbG91ZEBnbWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL4xiY6RghlkCe5LTPpfqZgXgBkHcZOdwqt91hWiG2ntY0ZAJsoyPJvG1bo+c0IzMDRFYSpnAC0RsIptInZJ6uHbMMT0KzcD/l6vV7IhADXP07rU4R0ZiHAKAZvQzXhTLQLuvuqq6y7Wt6t8RD/aX+l7RdYtROjveGKnX59cKXD1AgMBAAGjggKpMIICpTCCAU8GA1UdIASCAUYwggFCMIIBPgYIKwYBBAHDUgUwggEwMC0GCCsGAQUFBwIBFiFodHRwOi8vd3d3LmUtY2VydGNoaWxlLmNsL0NQUy5odG0wgf4GCCsGAQUFBwICMIHxHoHuAEUAbAAgAHIAZQBzAHAAbwBuAGQAZQByACAAZQBzAHQAZQAgAGYAbwByAG0AdQBsAGEAcgBpAG8AIABlAHMAIAB1AG4AIAByAGUAcQB1AGkAcwBpAHQAbwAgAGkAbgBkAGkAcwBwAGUAbgBzAGEAYgBsAGUAIABwAGEAcgBhACAAZABhAHIAIABpAG4AaQBjAGkAbwAgAGEAbAAgAHAAcgBvAGMAZQBzAG8AIABkAGUAIABjAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuAC4AIABQAG8AcwB0AGUAcgBpAG8AcgBtAGUAbgB0AGUALDAdBgNVHQ4EFgQUDNw+99lQ7UgJ3mbJaywnuyRt+rIwCwYDVR0PBAQDAgTwMCMGA1UdEQQcMBqgGAYIKwYBBAHBAQGgDBYKMTQ0NDE5MTYtMjAfBgNVHSMEGDAWgBR44T6f0hKzejyNzTAOU7NDKQezVTA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLmUtY2VydGNoaWxlLmNsL2VjZXJ0Y2hpbGVjYUZFUy5jcmwwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5lY2VydGNoaWxlLmNsL29jc3AwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIgtyDL4WTjGaF1Z0XguLcJ4Hv7DxhgZrnFYav4BUCAWQCAQQwIwYDVR0SBBwwGqAYBggrBgEEAcEBAqAMFgo5NjkyODE4MC01MA0GCSqGSIb3DQEBBQUAA4IBAQBXQDkOoW94re1/Qt/AtkmaXQi3BMDkd0vgrXzBpaqFBEnA3loWcFKaX3TQmj22Q2TkisfVYHpZCAuD4TPriCfICklsf41IPCLXMQso7fpOYUqQxUEa4zQba6d2ZSQov4dCThTiuz65MGKEFJaRLjwS5UyI9epdWM34m+9vPnFO1AwNDKYAKE7EHLDSgffUbR+NDnG+VzV+8Vz1t1anyNO970ikY3X7G74MHYZLSy7yQX0gzW1pszXp61Mf/caRtOlUerhNtIshcdIXCODI6SA4JU/I4n3pNbvfnm+UfvjQRo6ynMcNprTjEmi6esTejgadQbwMxutrw0h2vGvvV6zG</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</PARENT>
<PARENT version="1.0">
<Test ID="t2">
dom
</Test>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#t2">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>kbabNmV41OZhjZPXjpQsv31Vk0A=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>TeMKPng7Mepv4MPysq/MdmSdmNnUxrgSGTMYmfT+c2mdg3iJ9bcw4LRqcKq6zx3VZCn89xhV009er7KC4g9P2Twc4E2iPRZYd3fqphedoRY5IxMLFy7PqOjQlusXmQCOTiFS7/aARB76/ohg0eDcAG5gabEuGkb+KhzYAhVjmkI=</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>vjGJjpGCGWQJ7ktM+l+pmBeAGQdxk53Cq33WFaIbae1jRkAmyjI8m8bVuj5zQjMwNEVhKmcALRGwim0idknq4dswxPQrNwP+Xq9XsiEANc/TutThHRmIcAoBm9DNeFMtAu6+6qrrLta3q3xEP9pf6XtF1i1E6O94Yqdfn1wpcPU=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</PARENT>
<OTHER>
<random>2</random>
</OTHER>
<OTHER>
<random>3</random>
</OTHER>
</SetPARENT>
</Root>`;
const doc = new DOMParser().parseFromString(xml);
console.log(doc.toString());
I get the following xml:
<?xml version="1.0" encoding="ISO-8895-1"?>
<Root version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.example.com/TESTING" xsi:schemaLocation="http://www.example.com/test.xsd">
<SetPARENT ID="SETTEST">
<PARENT version="1.0">
<Test ID="t1">
ran
</Test>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#t1">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>CTJpKxruUVvSyIMu0omvaZ6seCY=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>qffErt1fpxgOs8vJULHbzZggJs5Que9x8d9PFAPWZIukyeC1fkF0ZZiibXSPov103EkiZ9M6+2QXoHynswSA2eQ0sWQh2DEc87ah+VVfnWaVOHv20Hc0C7nSXjqsQj2o5GKZWVIRBNpH1HShdqCOxIveNxZBFnnMimuDodb+4gg=</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>vjGJjpGCGWQJ7ktM+l+pmBeAGQdxk53Cq33WFaIbae1jRkAmyjI8m8bVuj5zQjMwNEVhKmcALRGwim0idknq4dswxPQrNwP+Xq9XsiEANc/TutThHRmIcAoBm9DNeFMtAu6+6qrrLta3q3xEP9pf6XtF1i1E6O94Yqdfn1wpcPU=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</PARENT>
<PARENT version="1.0" xmlns="http://www.example.com/TESTING">
<Test ID="t2">
dom
</Test>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#t2">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>kbabNmV41OZhjZPXjpQsv31Vk0A=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>TeMKPng7Mepv4MPysq/MdmSdmNnUxrgSGTMYmfT+c2mdg3iJ9bcw4LRqcKq6zx3VZCn89xhV009er7KC4g9P2Twc4E2iPRZYd3fqphedoRY5IxMLFy7PqOjQlusXmQCOTiFS7/aARB76/ohg0eDcAG5gabEuGkb+KhzYAhVjmkI=</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>vjGJjpGCGWQJ7ktM+l+pmBeAGQdxk53Cq33WFaIbae1jRkAmyjI8m8bVuj5zQjMwNEVhKmcALRGwim0idknq4dswxPQrNwP+Xq9XsiEANc/TutThHRmIcAoBm9DNeFMtAu6+6qrrLta3q3xEP9pf6XtF1i1E6O94Yqdfn1wpcPU=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</PARENT>
</SetPARENT>
</Root>
As you can see it adds xmlns="http://www.example.com/TESTING"
to the second <Parent>
Node.
Needs investigation, with help wanted.
Sorry for the late response.
I created a stackblitz with your sample using the latest version of xmldom
(which is published as @xmldom/xmldom
since 0.7.0):
https://stackblitz.com/edit/js-xmldom-template-f4gqlw?devToolsHeight=33&file=index.js
One minor thing first: The Summary
tag in line 4 of your XML sample has not been closed, xmldom automatically closes it. But when you close it the warning that is logged disappears.
The more relevant thing/good news is that the bug you reported, was reported in a different way in #262 and was fixed as part of 0.7.0 / #268.
Luckily xml-crypto has already updated to a version with a fix, so you should already be able to benefit from the fix.