>Number: 4073
>Category: mod_jserv
>Synopsis: Jserv vulnerable to memory based denial of service attack
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: jserv
>State: open
>Class: change-request
>Submitter-Id: apache
>Arrival-Date: Wed Mar 17 09:40:00 PST 1999
>Last-Modified:
>Originator: [EMAIL PROTECTED]
>Organization:
apache
>Release: 1.3.3 + 1.0b3
>Environment:
N/A
>Description:
If you send enough connections at Jserv in the sessionTimeout period that
continuously create new sessions (ie, they do not accept/use cookies),
it's possible to kill JServ with an EOutofMemory exception. Obviously there's
no way to completely prevent this, but it could be made substantially more
difficult by adding a second much shorter session.timeout value for isNew
sessions.
>How-To-Repeat:
load jserv with a smaller heap size, set up a bunch of JMeters slamming it
in such a way that sessions are created, you will crash. :)
>Fix:
alter JServServletManager to handle a secondary newsession.timeout (perhaps
a 5 minute default?) and alter run() to:
if((sysMillis - sess.lastAccessTime > sessionTimeout) ||
((sess.isNew()) && (sysMillis - sess.lastAccessTime > newSessionTimeout))) {
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <[EMAIL PROTECTED]> in the Cc line ]
[and leave the subject line UNCHANGED. This is not done]
[automatically because of the potential for mail loops. ]
[If you do not include this Cc, your reply may be ig- ]
[nored unless you are responding to an explicit request ]
[from a developer. ]
[Reply only with text; DO NOT SEND ATTACHMENTS! ]