* Ulf Harnhammar [2006-11-08 23:14:16+0100] > I've just verified that elog in stable is vulnerable to > all issues mentioned in bug #392016.
Thank you very much for looking into this! I've got another report attached below. I'll look into this problem also and will keep this bug report open as I think elog should not enter to Etch due to all potential security issues which increase the work-load on our security team during the stable release cycle. ---------------------------------->8--------------------------------------- FYI Hi, We are working with Mr. Stefan Ritt on this issue and waiting for the fix. Thanks, OS2A Forwarded Conversation Subject: ELOG Web Logbook Remote Denial of Service Vulnerability ------------------------ From: OS2A BTO <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Date: Wed, Nov 8, 2006 at 6:12 PM Attachments: os2a_1008.txt Hi, We recently came across a Denial of Service vulnerability in ELOG's elogd server which allows attackers to crash the service, thereby preventing legitimate access. Attached is our security advisory which describes the vulnerability in detail. Please let us know the time you might require to fix this issue. And also let us know if you have any questions. A quick and positive response from your side would be highly appreciated. Thanks, OS2A Team. -------- From: Stefan Ritt <[EMAIL PROTECTED]> To: OS2A BTO <[EMAIL PROTECTED]> Date: Wed, Nov 8, 2006 at 6:31 PM Dear OS2A team, thank you for reporting this vulnerability and for the detailed analysis, I really appreciate. I fixed this problem and just released version 2.6.2-7 (SVN revision 1746). Best regards, Stefan Ritt -- Dr. Stefan Ritt Phone: +41 56 310 3728 Paul Scherrer Institute FAX: +41 56 310 2199 OLGA/021 mailto:[EMAIL PROTECTED] CH-5232 Villigen PSI http://midas.psi.ch/~stefan [Quoted text hidden]> ------------------------------------------------------------------------ > > ELOG Web Logbook Remote Denial of Service Vulnerability > > > OS2A ID: OS2A_1008 Status: > 10/31/2006 Issue Discovered > 11/08/2006 Reported to the Vendor > -- Fixed by Vendor > -- Advisory Released > > > Class: Denial of Service Severity: Medium > > > Overview: > --------- > The Electronic Logbook (ELOG) is part of a family of applications known as > weblogs. ELOG is a remarkable implementation of a weblog in its simplicity of > use and versatility. > http://midas.psi.ch/elog/index.html > > Description: > ------------ > Remote exploitation of a denial of service vulnerability in ELOG's > elogd server allows attackers to crash the service, thereby preventing > legitimate access. > > The [global] section in configuration file elogd.cfg is used for settings > common to all logbooks. The vulnerability is due to improper handling of an > HTTP GET request if logbook name 'global' (or any logbook name prefixed > with global) is used in the request. When such a request is received, > a NULL pointer dereference occurs, leading to a crash of the service. > > Only authenticated users can exploit this vulnerability if the application > is configured with password. > > Impact: > ------- > Successful exploitation allows a remote attacker to crash the elogd server. > > Affected Software(s): > --------------------- > ELOG 2.6.2 and prior. > > Proof of Concept: > ----------------- > The HTTP GET request given below is sufficient to crash affected server: > http://www.example.com/global/ > > Analysis: > ----------- > #gdb ./elogd > ... > ... > > (gdb) break show_elog_list > Breakpoint 2 at 0x809d6e0 > > (gdb) c > Continuing. > (no debugging symbols found) > elogd 2.6.2 built Nov 8 2006, 01:25:48 revision 1699 > Falling back to default group "elog" > Falling back to default user "elog" > Indexing logbooks ... done > Server listening on port 8080 ... > > Breakpoint 2, 0x0809d6e0 in show_elog_list () > (gdb) c > Continuing. > > Program received signal SIGSEGV, Segmentation fault. > 0x0809eb7a in show_elog_list () > > (gdb) bt > #0 0x0809eb7a in show_elog_list () > #1 0x00000000 in ?? () > > (gdb) i r > eax 0x0 0 > ecx 0x9d43d88 164904328 > edx 0x0 0 > ebx 0x0 0 > esp 0xbfa8aca0 0xbfa8aca0 > ebp 0x80df40c 0x80df40c > esi 0xbfb27050 -1078824880 > edi 0x0 0 > eip 0x809eb7a 0x809eb7a > eflags 0x200246 2097734 > cs 0x73 115 > ss 0x7b 123 > ds 0x7b 123 > es 0x7b 123 > fs 0x0 0 > gs 0x33 51 > > (gdb) x/i $eip > 0x809eb7a <show_elog_list+5274>: mov (%eax),%eax > > The vulnerable code is at Line:16774 of elogd.c, > n_msg = *lbs->n_el_index; > where the pointer lbs is dereferenced before being null checked. > > --- elogd.c, Line:16772 ----- > > } else { > n_logbook = 1; > n_msg = *lbs->n_el_index; > } > > msg_list = xmalloc(sizeof(MSG_LIST) * n_msg); > > ---elogd.c, Line:16778 ----- > > > CVSS Score Report: > ----------------- > ACCESS_VECTOR = REMOTE > ACCESS_COMPLEXITY = LOW > AUTHENTICATION = NOT_REQUIRED > CONFIDENTIALITY_IMPACT = NONE > INTEGRITY_IMPACT = NONE > AVAILABILITY_IMPACT = COMPLETE > IMPACT_BIAS = AVAILABILITY > EXPLOITABILITY = FUNCTIONAL > REMEDIATION_LEVEL = WORKAROUND > REPORT_CONFIDENCE = CONFIRMED > CVSS Base Score = 5.0 (AV:R/AC:L/Au:NR/C:N/I:N/A:C/B:A) > CVSS Temporal Score = 4.5 > Risk factor = Medium > > > Vendor Response: > --------------- > > > > Solution: > --------- > Before using the pointer, ensure that it is not equal to NULL. > eg: > > if(!lbs->n_el_index) { > /* handle the null pointer dereference condition here */ > } > > Credits: > ------- > Jayesh KS and Arun Kethipelly of OS2A have been credited with the discovery > and > analysis of this vulnerability. > -------- From: OS2A BTO <[EMAIL PROTECTED]> To: Stefan Ritt <[EMAIL PROTECTED]> Date: Wed, Nov 8, 2006 at 7:27 PM Dear Stefan Ritt, Thanks for the quick response. We tested the fix you provided and still seems to be having the problem. We created another logbook named 'global', after the logbook 'demo', in the configuration file elogd.cfg and tried accessing the server with http://elogsite:8080/global/. Its giving segmentation fault. This is the configuration file we used: ------elogd.cfg------------ [global] port = 8080 [demo] Theme = default Comment = General linux tips & tricks Attributes = Author, Type, Category, Subject Options Type = Routine, Software Installation, Problem Fixed, Configuration, Other Options Category = General, Hardware, Software, Network, Other Extendable Options = Category Required Attributes = Author, Type Page Title = ELOG - $subject Reverse sort = 1 Quick filter = Date, Type [global] Theme = default Comment = General linux tips & tricks Attributes = Author, Type, Category, Subject Options Type = Routine, Software Installation, Problem Fixed, Configuration, Other Options Category = General, Hardware, Software, Network, Other Extendable Options = Category Required Attributes = Author, Type Page Title = ELOG - $subject Reverse sort = 1 Quick filter = Date, Type -------------elogd.cfg--------------------- Thanks, OS2A [Quoted text hidden] -------- From: Stefan Ritt <[EMAIL PROTECTED]> To: OS2A BTO <[EMAIL PROTECTED]> Date: Wed, Nov 8, 2006 at 7:39 PM Can you try again? I just updated 2.6.2-7, it's now SVN revision 1747. Having a [global] section plus a [global] logbook is a severe misconfiguration, so I did not try that combination before. But now it should be fixed. - Stefan [Quoted text hidden] -------- From: OS2A BTO <[EMAIL PROTECTED]> To: Stefan Ritt <[EMAIL PROTECTED]> Date: Wed, Nov 8, 2006 at 7:54 PM Hi, If we create any other directory prefixed with global in configuration file, and try the same in URL, it again crashes. I created a logbook names 'global__' in elogd.cfg and tried to access http://192.168.3.5:8080/global__/ it crashed again. ---------------------------------->8--------------------------------------- -- roktas
signature.asc
Description: Digital signature