uadetector icon indicating copy to clipboard operation
uadetector copied to clipboard

Gracefully handling reDOS attacks

Open geota opened this issue 9 years ago • 0 comments

Recently my application was hit with a ReDos attack. Below is the User Agent string in question. When attempting to parse, the library hangs indefinitely. I was able to code around this issue by kicking off the parser in a background thread using an executor with a timeout. However, it would be awesome if the library itself handled this.

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500 OWASMIME/4.0500

geota avatar Jan 28 '16 21:01 geota