| <?xml version="1.0" encoding="utf-8"?> |
| <?xml-stylesheet href="/xsl/glsa.xsl" type="text/xsl"?> |
| <?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?> |
| <!DOCTYPE glsa SYSTEM "http://www.gentoo.org/dtd/glsa.dtd"> |
| |
| <glsa id="200710-02"> |
| <title>PHP: Multiple vulnerabilities</title> |
| <synopsis> |
| PHP contains several vulnerabilities including buffer and integer overflows |
| which could lead to the remote execution of arbitrary code. |
| </synopsis> |
| <product type="ebuild">php</product> |
| <announced>October 07, 2007</announced> |
| <revised>October 07, 2007: 01</revised> |
| <bug>179158</bug> |
| <bug>180556</bug> |
| <bug>191034</bug> |
| <access>remote</access> |
| <affected> |
| <package name="dev-lang/php" auto="yes" arch="*"> |
| <unaffected range="ge">5.2.4_p20070914-r2</unaffected> |
| <vulnerable range="lt">5.2.4_p20070914-r2</vulnerable> |
| </package> |
| </affected> |
| <background> |
| <p> |
| PHP is a widely-used general-purpose scripting language that is |
| especially suited for Web development and can be embedded into HTML. |
| </p> |
| </background> |
| <description> |
| <p> |
| Several vulnerabilities were found in PHP. Mattias Bengtsson and Philip |
| Olausson reported integer overflows in the gdImageCreate() and |
| gdImageCreateTrueColor() functions of the GD library which can cause |
| heap-based buffer overflows (CVE-2007-3996). Gerhard Wagner discovered |
| an integer overflow in the chunk_split() function that can lead to a |
| heap-based buffer overflow (CVE-2007-2872). Its incomplete fix caused |
| incorrect buffer size calculation due to precision loss, also resulting |
| in a possible heap-based buffer overflow (CVE-2007-4661 and |
| CVE-2007-4660). A buffer overflow in the sqlite_decode_binary() of the |
| SQLite extension found by Stefan Esser that was addressed in PHP 5.2.1 |
| was not fixed correctly (CVE-2007-1887). |
| </p> |
| <p> |
| Stefan Esser discovered an error in the zend_alter_ini_entry() function |
| handling a memory_limit violation (CVE-2007-4659). Stefan Esser also |
| discovered a flaw when handling interruptions with userspace error |
| handlers that can be exploited to read arbitrary heap memory |
| (CVE-2007-1883). Disclosure of sensitive memory can also be triggered |
| due to insufficient boundary checks in the strspn() and strcspn() |
| functions, an issue discovered by Mattias Bengtsson and Philip Olausson |
| (CVE-2007-4657) |
| </p> |
| <p> |
| Stefan Esser reported incorrect validation in the FILTER_VALIDATE_EMAIL |
| filter of the Filter extension allowing arbitrary email header |
| injection (CVE-2007-1900). NOTE: This CVE was referenced, but not fixed |
| in GLSA 200705-19. |
| </p> |
| <p> |
| Stanislav Malyshev found an error with unknown impact in the |
| money_format() function when processing "%i" and "%n" tokens |
| (CVE-2007-4658). zatanzlatan reported a buffer overflow in the |
| php_openssl_make_REQ() function with unknown impact when providing a |
| manipulated SSL configuration file (CVE-2007-4662). Possible memory |
| corruption when trying to read EXIF data in exif_read_data() and |
| exif_thumbnail() occurred with unknown impact. |
| </p> |
| <p> |
| Several vulnerabilities that allow bypassing of open_basedir and other |
| restrictions were reported, including the glob() function |
| (CVE-2007-4663), the session_save_path(), ini_set(), and error_log() |
| functions which can allow local command execution (CVE-2007-3378), |
| involving the readfile() function (CVE-2007-3007), via the Session |
| extension (CVE-2007-4652), via the MySQL extension (CVE-2007-3997) and |
| in the dl() function which allows loading extensions outside of the |
| specified directory (CVE-2007-4825). |
| </p> |
| <p> |
| Multiple Denial of Service vulnerabilities were discovered, including a |
| long "library" parameter in the dl() function (CVE-2007-4887), in |
| several iconv and xmlrpc functions (CVE-2007-4840 and CVE-2007-4783), |
| in the setlocale() function (CVE-2007-4784), in the glob() and |
| fnmatch() function (CVE-2007-4782 and CVE-2007-3806), a floating point |
| exception in the wordwrap() function (CVE-2007-3998), a stack |
| exhaustion via deeply nested arrays (CVE-2007-4670), an infinite loop |
| caused by a specially crafted PNG image in the png_read_info() function |
| of libpng (CVE-2007-2756) and several issues related to array |
| conversion. |
| </p> |
| </description> |
| <impact type="high"> |
| <p> |
| Remote attackers might be able to exploit these issues in PHP |
| applications making use of the affected functions, potentially |
| resulting in the execution of arbitrary code, Denial of Service, |
| execution of scripted contents in the context of the affected site, |
| security bypass or information leak. |
| </p> |
| </impact> |
| <workaround> |
| <p> |
| There is no known workaround at this time. |
| </p> |
| </workaround> |
| <resolution> |
| <p> |
| All PHP users should upgrade to the latest version: |
| </p> |
| <code> |
| # emerge --sync |
| # emerge --ask --oneshot --verbose ">=dev-lang/php-5.2.4_p20070914-r2"</code> |
| </resolution> |
| <references> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-1883">CVE-2007-1883</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-1887">CVE-2007-1887</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-1900">CVE-2007-1900</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2756">CVE-2007-2756</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2872">CVE-2007-2872</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3007">CVE-2007-3007</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3378">CVE-2007-3378</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3806">CVE-2007-3806</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3996">CVE-2007-3996</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3997">CVE-2007-3997</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3998">CVE-2007-3998</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4652">CVE-2007-4652</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4657">CVE-2007-4657</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4658">CVE-2007-4658</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4659">CVE-2007-4659</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4660">CVE-2007-4660</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4661">CVE-2007-4661</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4662">CVE-2007-4662</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4663">CVE-2007-4663</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4670">CVE-2007-4670</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4727">CVE-2007-4727</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4782">CVE-2007-4782</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4783">CVE-2007-4783</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4784">CVE-2007-4784</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4825">CVE-2007-4825</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4840">CVE-2007-4840</uri> |
| <uri link="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-4887">CVE-2007-4887</uri> |
| <uri link="http://www.gentoo.org/security/en/glsa/glsa-200705-19.xml">GLSA 200705-19</uri> |
| </references> |
| <metadata tag="requester" timestamp="Sun, 19 Aug 2007 18:58:47 +0000"> |
| jaervosz |
| </metadata> |
| <metadata tag="bugReady" timestamp="Sun, 19 Aug 2007 18:58:59 +0000"> |
| jaervosz |
| </metadata> |
| <metadata tag="submitter" timestamp="Thu, 27 Sep 2007 00:18:38 +0000"> |
| rbu |
| </metadata> |
| </glsa> |