libexpat before 2.8.3 has an out-of-bounds read and resultant infinite loop because low surrogates are treated the same as high surrogates during Unicode processing in the *_toUtf16 functions.Referenceshttps://github.com/libexpat/libexpat/pull/1296https://bugzilla.mozilla.org/show_bug.cgi?id=2053153