-
-
Notifications
You must be signed in to change notification settings - Fork 996
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Libtorrent crashes while parsing invalid chunked HTTP or UPnP response #780
Comments
Also, fwiw, the example program I used to fuzz this is:
Compiled with:
|
I'm not familiar with Valgrind, but for what I can see in the log, the library is using an specialized algorithm tailored to Is this |
I am not sure what you mean by a "specialized algorithm tailored to I am linked to libstdc++
|
If you want to compile the C program I provided without AFL, you should remove the It should compile with just clang then. Also, the line that is failing is 432 in http_parser.cpp:
|
Thanks! fix for RC_1_1 is here. #782 I will back-port it to RC_1_0 once this passes CI |
@arvidn Does that mean this will go into a v1.0.10? |
yes |
libtorrent version (or branch): 1.1
platform/architecture: Linux x86_64
compiler and compiler version: Ubuntu clang version 3.6.2-1 (tags/RELEASE_362/final) (based on LLVM 3.6.2)
A specially crafted HTTP response from a tracker (or potentially a UPnP broadcast) can crash libtorrent in the parse_chunk_header() function. This bug was found with AFL. Let me know if you need any more information or cannot reproduce.
Base64-encoded HTTP response that should crash libtorrent:
ASan output:
Valgrind output:
The text was updated successfully, but these errors were encountered: