xmldom icon indicating copy to clipboard operation
xmldom copied to clipboard

xmldom adding xlmns to child nodes when parsing xmls with signatures

Open gabucito opened this issue 4 years ago • 1 comments

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>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</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.

gabucito avatar Jul 22 '20 02:07 gabucito

Needs investigation, with help wanted.

brody4hire avatar Jul 24 '20 17:07 brody4hire

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.

karfau avatar Oct 25 '22 19:10 karfau