You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a multi-part message (has nestedBoundary) is at the very end of a stream, it will do the recursive parseMime to handle nestedBoundary fine, but when its passed parseMime and is now in the while loop to get the streams position to the next boundary, it will seriously fk up, since it will return ")" (probably empty lines or \n, \r before ")" e.t.c) then it will result in a non-responsive stream, and all the reader.ReadLine attempts will get a -1 from the ReadByte resulting in an empty string, resulting in it ALWAYS looping.
The text was updated successfully, but these errors were encountered:
MailMessage's string body = parseMime(...)
can land in an INFINITE loop.
This took me about a month of security testing and research.
This is CRITICAL to be fixed.
The loop occurs at Line 190' while loop
https://github.com/andyedinborough/aenetmail/blob/master/MailMessage.cs#L190
If a multi-part message (has nestedBoundary) is at the very end of a stream, it will do the recursive parseMime to handle nestedBoundary fine, but when its passed parseMime and is now in the while loop to get the streams position to the next boundary, it will seriously fk up, since it will return ")" (probably empty lines or \n, \r before ")" e.t.c) then it will result in a non-responsive stream, and all the reader.ReadLine attempts will get a -1 from the ReadByte resulting in an empty string, resulting in it ALWAYS looping.
The text was updated successfully, but these errors were encountered: