Re: [Mod-security-developers] segfaults on JSON request body processor
Brought to you by:
victorhora,
zimmerletw
From: Bruno S. <br...@sa...> - 2014-02-13 11:07:36
|
Hi Felipe, Thanks for the instructions. Here's the output of 'bt full', hope it helps. Program received signal SIGSEGV, Segmentation fault. __strcmp_sse2 () at ../sysdeps/x86_64/strcmp.S:213 213 movlpd (%rdi), %xmm1 Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 db4-4.7.25-18.el6_4.x86_64 expat-2.0.1-11.el6_2.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-10.el6_4.6.x86_64 libcom_err-1.41.12-18.el6.x86_64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libuuid-2.17.2-12.14.el6.x86_64 libxml2-2.7.6-14.el6.x86_64 lua-5.1.4-4.1.el6.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-3.el6_5.x86_64 nss-softokn-freebl-3.14.3-9.el6.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4.23-32.el6_4.1.x86_64 openssl-1.0.1e-16.el6_5.4.x86_64 pcre-7.8-6.el6.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) (gdb) bt full #0 __strcmp_sse2 () at ../sysdeps/x86_64/strcmp.S:213 No locals. #1 0x00007ffff2b81f7c in sec_audit_logger (msr=0x7ffff8d1da80) at msc_logging.c:699 arg = 0x7ffff8d47fa8 sorted_args = 0x7ffff8d5ba68 nextarg = 0x0 tarr = 0x7ffff8d39640 telts = 0x7ffff8d39768 offset = 0 last_offset = 0 sanitize = 0 my_error_msg = 0x0 arr = 0x7ffff8d48250 te = 0x7ffff8d48378 tarr_pattern = 0x7ffff8d33b68 telts_pattern = 0x7ffff8d33c90 str1 = 0x0 str2 = 0x0 text = 0x7ffff8d5ba50 "Content-Length: 133\n" rule = 0x0 next_rule = 0x0 nbytes = 0 nbytes_written = 140737368015808 md5hash = "\000\000\000\000\000\000\000\000\330\301\323\370\377\177\000" was_limited = 0 present = 0 wrote_response_body = 0 entry_filename = 0xf8d3ba88 <Address 0xf8d3ba88 out of bounds> entry_basename = 0x7fffffffdc90 "h\272\325\370\377\177" rc = 0 i = 0 limit = -132113904 k = 32767 sanitized_partial = 0 j = 32767 buf = 0x0 pat = 0x0 mparm = 0x0 arg_min = 32767 arg_max = -120464768 sanitize_matched = 0 #2 0x00007ffff2b79225 in modsecurity_process_phase_logging (msr=0x7ffff8d1da80) at modsecurity.c:695 time_before = 1392288967111028 time_after = 1392288967111070 #3 0x00007ffff2b794b5 in modsecurity_process_phase (msr=0x7ffff8d1da80, phase=5) at modsecurity.c:801 No locals. #4 0x00007ffff2b77190 in hook_log_transaction (r=0x7ffff8d1c1f8) at mod_security2.c:1217 arr = 0x7ffff8d5e0a0 origr = 0x7ffff8d1c1f8 ---Type <return> to continue, or q <return> to quit--- msr = 0x7ffff8d1da80 #5 0x00007ffff7fc8600 in ap_run_log_transaction (r=0x7ffff8d1c1f8) at /usr/src/debug/httpd-2.2.15/server/protocol.c:1705 pHook = <value optimized out> n = <value optimized out> rv = <value optimized out> #6 0x00007ffff7fe5a7f in ap_process_request (r=0x7ffff8d1c1f8) at /usr/src/debug/httpd-2.2.15/modules/http/http_request.c:308 access_status = <value optimized out> #7 0x00007ffff7fe29a8 in ap_process_http_connection (c=0x7ffff8cadcf8) at /usr/src/debug/httpd-2.2.15/modules/http/http_core.c:190 r = 0x7ffff8d1c1f8 csd = 0x0 #8 0x00007ffff7fde6b8 in ap_run_process_connection (c=0x7ffff8cadcf8) at /usr/src/debug/httpd-2.2.15/server/connection.c:43 pHook = <value optimized out> n = <value optimized out> rv = <value optimized out> #9 0x00007ffff7fea977 in child_main (child_num_arg=<value optimized out>) at /usr/src/debug/httpd-2.2.15/server/mpm/prefork/prefork.c:667 current_conn = <value optimized out> csd = 0x7ffff8cadb08 ptrans = 0x7ffff8cada88 allocator = 0x7ffff8cab980 status = <value optimized out> i = <value optimized out> lr = <value optimized out> pollset = 0x7ffff8cabc20 sbh = 0x7ffff8cabc18 bucket_alloc = 0x7ffff8d14148 last_poll_idx = 1 #10 0x00007ffff7feac46 in make_child (s=0x7ffff8212880, slot=0) at /usr/src/debug/httpd-2.2.15/server/mpm/prefork/prefork.c:707 pid = <value optimized out> #11 0x00007ffff7feb293 in ap_mpm_run (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>) at /usr/src/debug/httpd-2.2.15/server/mpm/prefork/prefork.c:983 index = <value optimized out> remaining_children_to_start = <value optimized out> rv = <value optimized out> #12 0x00007ffff7fc2900 in main (argc=4, argv=0x7fffffffe338) at /usr/src/debug/httpd-2.2.15/server/main.c:760 c = 102 'f' configtestonly = <value optimized out> confname = 0x7fffffffe5c2 "/etc/httpd/conf/httpd.conf" def_server_root = 0x7ffff7fed1f3 "/etc/httpd" temp_error_log = 0x0 error = <value optimized out> process = 0x7ffff8212880 server_conf = 0x7ffff8212880 pglobal = 0x7ffff8209148 pconf = 0x7ffff820b158 plog = 0x7ffff823d2e8 ptemp = 0x7ffff820f178 pcommands = 0x7ffff820d168 opt = 0x7ffff820d260 rv = <value optimized out> mod = <value optimized out> ---Type <return> to continue, or q <return> to quit--- optarg = 0x7fffffffe5c2 "/etc/httpd/conf/httpd.conf" signal_server = <value optimized out> On 13 February 2014 03:25, Felipe Costa <FC...@tr...> wrote: > Hi Bruno, > > Thank you for the report. > > Do you mind to generate more information using GDB? > > I've just create a guide on how to use GDB to help in the bug reporting > process, it is available under our wiki: > https://github.com/SpiderLabs/ModSecurity/wiki/Debugging-ModSecurity > > Thanks, > *Felipe "Zimmerle" Costa* > Security Researcher, SpiderLabs > > *Trustwave* | SMART SECURITY ON DEMAND > www.trustwave.com > > On Feb 12, 2014, at 9:23 AM, Bruno Savioli de Almeida <br...@sa...> > wrote: > > Hi, > > I'm testing the JSON patches from the json_top_of_2_7_7 branch and I'm > getting what appears to be random segfaults. I say random because I haven't > managed to identify any patterns on the type of requests that segfaults. > > Test environment: > Centos 6.5 x86_64 > httpd-2.2.15-29.el6.centos.x86_64 > mod_security compiled with yajl-2.0.5 > > > I'm running mod_security in DETECTION_ONLY mode, with the owasp crs and > JSON requestBodyProcessor enabled > > When the request segfaults, the audit log only records parts A and B: > > To avoid making this email too long, logs are here: > http://pastebin.com/MnehgvJw > > Let me know if I can help with any more information. > > > Thanks, > > > -- > - Bruno > ------------------------------------------------------------------------------ > Android apps run on BlackBerry 10 > Introducing the new BlackBerry 10.2.1 Runtime for Android apps. > Now with support for Jelly Bean, Bluetooth, Mapview and more. > Get your Android app in front of a whole new audience. Start now. > > http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk_______________________________________________ > mod-security-developers mailing list > mod...@li... > https://lists.sourceforge.net/lists/listinfo/mod-security-developers > ModSecurity Services from Trustwave's SpiderLabs: > https://www.trustwave.com/spiderLabs.php > > > > ------------------------------ > > This transmission may contain information that is privileged, > confidential, and/or exempt from disclosure under applicable law. If you > are not the intended recipient, you are hereby notified that any > disclosure, copying, distribution, or use of the information contained > herein (including any reliance thereon) is strictly prohibited. If you > received this transmission in error, please immediately contact the sender > and destroy the material in its entirety, whether in electronic or hard > copy format. > > > ------------------------------------------------------------------------------ > Android apps run on BlackBerry 10 > Introducing the new BlackBerry 10.2.1 Runtime for Android apps. > Now with support for Jelly Bean, Bluetooth, Mapview and more. > Get your Android app in front of a whole new audience. Start now. > > http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk > _______________________________________________ > mod-security-developers mailing list > mod...@li... > https://lists.sourceforge.net/lists/listinfo/mod-security-developers > ModSecurity Services from Trustwave's SpiderLabs: > https://www.trustwave.com/spiderLabs.php > -- - Bruno |