Re: Release of libxml2 2.9.13
Mike Dalessio via xml <[email protected]> Mon, 21 Feb 2022 11:44:49 -0500
| Newsgroups | gmane.comp.gnome.lib.xml.general |
|---|---|
| Message-ID | <CAGJbjKa0z10nANtsAOyMw_wVy3Uh4HV775hPZ86KATM7ZMGR2A@mail.gmail.com> |
--===============5396993002916502498== Content-Type: multipart/alternative; boundary="0000000000000ffa7e05d889f492" --0000000000000ffa7e05d889f492 Content-Type: text/plain; charset="UTF-8" This is very helpful. Thanks as always, Nick. On Mon, Feb 21, 2022 at 11:42 AM Nick Wellnhofer <[email protected]> wrote: > On 21/02/2022 14:57, Mike Dalessio wrote: > > I'm not asking specifically for a CVSS score for this vulnerability, and > I'm > > certainly not asking you to create a CVE for every memory fix that's > found. > > I'm only asking for a more accessible explanation of the conditions > under > > which an application might be vulnerable to this already-published CVE. > > From my limited analysis, there are two scenarios: > > 1. When using the reader API (xmlreader.h, xmlTextReader) > > Conditions: > > - Create a reader with parser option XML_PARSE_DTDVALID (or "parser > property" XML_PARSER_VALIDATE) but without parser option > XML_PARSE_NOENT > (XML_PARSER_SUBST_ENTITIES) > - Parse an untrusted document > > Impact: > > - Crash (DoS) > - Memory disclosure via error channel > > 2. When using another parser API > > Conditions: > > - Parse an untrusted document with XML_PARSE_DTDVALID but without > XML_PARSE_NOENT > - Delete a portion of the resulting document > - Call xmlGetID on the document > > Potential impact: > > - Crash (DoS) > - Arbitrary memory disclosure > - Arbitrary code execution > > > Would this be an appropriate explanation for me to include in my > security > > advisory? > > > > > An application may be vulnerable to a denial-of-service attack if it > parses > > an untrusted document with parse options `DTDVALID` on, and `NOENT` off. > > No, that's understating the severity. As I tried to explain, it's > impossible > to assess the severity without auditing each and every downstream project. > Since clever exploitation of use-after-free errors can result in code > execution, I have to assume the worst case if you force me to make a > general > statement. > > DISCLAIMER: I make no guarantees regarding the accuracy and completeness > of my > statements above. > > Nick > --0000000000000ffa7e05d889f492 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">This is very helpful. Thanks as always, Nick.</div><br><di= v class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Feb 2= 1, 2022 at 11:42 AM Nick Wellnhofer <<a href=3D"mailto:wellnhofer@aevum.= de">[email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_= quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,= 204);padding-left:1ex">On 21/02/2022 14:57, Mike Dalessio wrote:<br> > I'm not asking specifically for a CVSS score for this vulnerabilit= y, and I'm <br> > certainly not asking you to create a CVE for every memory fix that'= ;s found. <br> > I'm only asking for a more accessible explanation of the condition= s under <br> > which an application might be vulnerable to this already-published CVE= .<br> <br> =C2=A0From my limited analysis, there are two scenarios:<br> <br> 1. When using the reader API (xmlreader.h, xmlTextReader)<br> <br> =C2=A0 =C2=A0Conditions:<br> <br> =C2=A0 =C2=A0- Create a reader with parser option XML_PARSE_DTDVALID (or &q= uot;parser<br> =C2=A0 =C2=A0 =C2=A0property" XML_PARSER_VALIDATE) but without parser = option XML_PARSE_NOENT<br> =C2=A0 =C2=A0 =C2=A0(XML_PARSER_SUBST_ENTITIES)<br> =C2=A0 =C2=A0- Parse an untrusted document<br> <br> =C2=A0 =C2=A0Impact:<br> <br> =C2=A0 =C2=A0- Crash (DoS)<br> =C2=A0 =C2=A0- Memory disclosure via error channel<br> <br> 2. When using another parser API<br> <br> =C2=A0 =C2=A0Conditions:<br> <br> =C2=A0 =C2=A0- Parse an untrusted document with XML_PARSE_DTDVALID but with= out<br> =C2=A0 =C2=A0 =C2=A0XML_PARSE_NOENT<br> =C2=A0 =C2=A0- Delete a portion of the resulting document<br> =C2=A0 =C2=A0- Call xmlGetID on the document<br> <br> =C2=A0 =C2=A0Potential impact:<br> <br> =C2=A0 =C2=A0- Crash (DoS)<br> =C2=A0 =C2=A0- Arbitrary memory disclosure<br> =C2=A0 =C2=A0- Arbitrary code execution<br> <br> > Would this be an appropriate explanation for me to include in my secur= ity <br> > advisory?<br> > <br> >=C2=A0 > An application may be vulnerable to a denial-of-service att= ack if it parses <br> > an untrusted document with parse options `DTDVALID` on, and `NOENT` of= f.<br> <br> No, that's understating the severity. As I tried to explain, it's i= mpossible <br> to assess the severity without auditing each and every downstream project. = <br> Since clever exploitation of use-after-free errors can result in code <br> execution, I have to assume the worst case if you force me to make a genera= l <br> statement.<br> <br> DISCLAIMER: I make no guarantees regarding the accuracy and completeness of= my <br> statements above.<br> <br> Nick<br> </blockquote></div> --0000000000000ffa7e05d889f492-- --===============5396993002916502498== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] https://mail.gnome.org/mailman/listinfo/xml --===============5396993002916502498==--