>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! ]