v0.2.1
tage9867dac6e2e5a0f7a08c86bb08a8e7ff72f0c6c
object 5764336aa3785af8a08be7ec7b40846ec139eb6c
authorEric Wong <normalperson@yhbt.net>
Mon, 19 Apr 2010 21:16:58 +0000 (19 14:16 -0700)
Zbatery 0.2.1 - use a less-broken parser from Unicorn

This release fixes a denial-of-service vector for deployments
exposed directly to untrusted clients.

The HTTP parser in Unicorn <= 0.97.0 would trip an assertion
(killing the associated worker process) on invalid
Content-Length headers instead of raising an exception.  Since
Rainbows! and Zbatery supports multiple clients per worker
process, all clients connected to the worker process that hit
the assertion would be aborted.

Deployments behind nginx are _not_ affected by this bug, as
nginx will reject clients that send invalid Content-Length
headers.

The status of deployments behind other HTTP-aware proxies is
unknown.  Deployments behind a non-HTTP-aware proxy (or no proxy
at all) are certainly affected by this DoS.

Users are strongly encouraged to upgrade as soon as possible,
there are no other changes besides this bug fix from Rainbows!
0.91.0 nor Unicorn 0.97.0

This bug affects all previously released versions of Rainbows!
and Zbatery.