| Anonymous | Login | Signup for a new account | 11-10-2008 10:54 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0000612 | [BusyBox] Security | crash | always | 12-23-05 06:35 | 01-10-06 19:24 | ||||
| Reporter | alita | View Status | public | ||||||
| Assigned To | BusyBox | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | 1.01 | ||||||
| Summary | 0000612: Buffer Overflow in the httpd | ||||||||
| Description |
I found a buffer overflow in the httpd. In the function encodeString() it allocates only len*5+1 bytes, but to store entities over 99 it needs len*6+1 bytes. So if you try to encode a multiple KB long string with many characters over 99, it ends up with a segfault. This is maybe a security risk. In the function decodeString() you can jump over the terminating zero byte, if you place the '%' character at the right (wrong) place, and access the memory after it. For example if you run the following command, it will output your first environment variable: httpd -d "%20%8"; echo This function is used in the handleIncoming(), too. This is maybe a security risk, so it sould better be fixed soon. I have write a patch that correct it and attach it to this bug report. Sorry, for my bad english. I hope you can understand it. |
||||||||
| Additional Information | |||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |