Vulnerability Development mailing list archives
Re: Vulnerability in PHP ?!?
From: "Mihai (Cop) Moldovanu" <mihaim () tfm ro>
Date: Tue, 14 May 2002 04:00:28 +0300 (EEST)
Erik Parker said:
If you read any of the past archives for Bugtraq, Vuln-dev, Php-dev, or php-cvs, or search on Security focus's very efficient search engine, you'd be able to find them.
He was asking about 4.1.2 wich can be crashed remote . I will put the details at the end of this message .
B> I stumbled on some exploit code from TESO that is available at B> packetstorm (http://packetstormsecurity.nl/filedesc/7350fun.html). The B> code exists as a binary that is supposed to exploit B> mod_php 4.0.x and crash at least 4.1.2 B> B> I am curious what hole is being exploited. I can't remember a buffer B> overflow vulnerability being reported for mod_php 4.1.2 B> Anyone with ideas ? B>
Details about php 4.2.0 upload bug. A special buffer passed to php by using the old POST upload trick will segfault php in php_mime_get_hdr_value . #0 0x40313520 in php_mime_get_hdr_value (header= {head = 0x0, tail = 0x0, size = 8, count = 0, dtor = 0x403132bc <php_free_hdr_entry>, persistent = 0 '\000', traverse_ptr = 0x0}, key=0x403bb6bb "Content-Disposition") at rfc1867.c:375 #1 0x40313c95 in rfc1867_post_handler ( content_type_dup=0x818d474 "multipart/form-data; boundary=", '-' <repeats 27times>, "299908810612827886801697150081", arg=0x818e80c, tsrm_l at rfc1867.c:649 #2 0x40311b43 in sapi_handle_post (arg=0x818e80c, tsrm_ls=0x8116230) at SAPI.c:110 #3 0x40315a07 in php_treat_data (arg=0, str=0x0, destArray=0x0, tsrm_ls=0x8116230) at php_variables.c:251 0x4031350f <php_mime_get_hdr_value+51>: call 0x402dc054 <_init+11560> 0x40313514 <php_mime_get_hdr_value+56>: mov %eax,%esi 0x40313516 <php_mime_get_hdr_value+58>: add $0x10,%esp 0x40313519 <php_mime_get_hdr_value+61>: lea 0x0(%esi),%esi 0x4031351c <php_mime_get_hdr_value+64>: sub $0x8,%esp 0x4031351f <php_mime_get_hdr_value+67>: push %edi // This is the line with the problem 0x40313520 <php_mime_get_hdr_value+68>: pushl (%esi) In the infamous rfc1867.c at line 365 if (!strcasecmp(entry->key, key)) { entry becomes NULL when calling strcasecmp and that's why it will segfault . This will give us a pretty and easy fix of this problem : do { + if ( entry != NULL ) if (!strcasecmp(entry->key, key)) { return entry->value; php 4.2.1 fixes this problem . -- SysAdmin of ProTV & ProFM , Member of TFM Group linux division . Mihai Moldovanu http://www.tfm.ro/ http://portal.tfm.ro/
Current thread:
- Re: XP Screen Saver password uses Old password until logout or New one is used. hellNbak (Apr 30)
- Re: XP Screen Saver password uses Old password until logout or Newone is used. Meritt James (Apr 30)