Skip to content
OpenAdvisories
Unscored Public exploit CVE-2010-4645 EUVD-2010-4610GHSA-89c3-82jr-pppj

strtod.c, as used in the zend_strtod function in PHP 5.2 before 5.2.17 and 5.3 before 5.3.5, and other products, allows context-dependent a…

Published Jan 11, 2011 · Updated Feb 13, 2025 · Assigned by redhat

Description

strtod.c, as used in the zend_strtod function in PHP 5.2 before 5.2.17 and 5.3 before 5.3.5, and other products, allows context-dependent attackers to cause a denial of service (infinite loop) via a certain floating-point value in scientific notation, which is not properly handled in x87 FPU registers, as demonstrated using 2.2250738585072011e-308.

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
RHEL 6 php +25 5.3.2-6.el6_0.1 RHSA-2011:0195
RHEL 5 php53 +20 5.3.3-1.el5_6.1 RHSA-2011:0196
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed php5 5.6.28-1.1 openSUSE-SU-2024:10344-1
openSUSE Tumbleweed php7 7.0.14-1.4 openSUSE-SU-2024:10290-1
openSUSE Tumbleweed php8 8.0.11-1.1 openSUSE-SU-2024:11169-1

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

Exploit-DB 1

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 5

References