VYPR
Moderate severityNVD Advisory· Published Feb 17, 2011· Updated Apr 29, 2026

CVE-2010-4476

CVE-2010-4476

Description

The Double.parseDouble method in Java Runtime Environment (JRE) in Oracle Java SE and Java for Business 6 Update 23 and earlier, 5.0 Update 27 and earlier, and 1.4.2_29 and earlier, as used in OpenJDK, Apache, JBossweb, and other products, allows remote attackers to cause a denial of service via a crafted string that triggers an infinite loop of estimations during conversion to a double-precision binary floating-point number, as demonstrated using 2.2250738585072012e-308.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A crafted string causes Double.parseDouble in multiple Java versions to enter an infinite loop, leading to denial of service.

Vulnerability

The Double.parseDouble method in the Java Runtime Environment (JRE) of Oracle Java SE and Java for Business 6 Update 23 and earlier, 5.0 Update 27 and earlier, and 1.4.2_29 and earlier is vulnerable to an infinite loop when parsing a specially crafted string such as 2.2250738585072012e-308 [3]. This issue also affects products that embed or rely on these JRE versions, including OpenJDK, Apache Tomcat, JBossweb, and others [3].

Exploitation

An attacker can exploit this vulnerability remotely by sending a crafted string that triggers an infinite loop of estimations during conversion to a double-precision binary floating-point number [3]. No authentication or special privileges are required; the attack can be delivered via any means that causes the target application to parse the malicious string using Double.parseDouble.

Impact

Successful exploitation causes a denial of service (DoS) condition, as the affected Java process enters an infinite loop, consuming CPU resources and becoming unresponsive [3]. The loss of availability can disrupt services relying on the vulnerable JRE version. No data confidentiality or integrity is compromised.

Mitigation

Oracle released updates to fix this issue in later versions of Java SE (e.g., 6 Update 24, 5.0 Update 28, 1.4.2_30) [3]. Users should upgrade to a patched version. For Apache Tomcat users, older branches (5.x, 6.x, 7.x) have reached end of life and are no longer supported; upgrading to Tomcat 9.0.x or later is recommended [1][2][4]. No workaround is available if the underlying JRE cannot be updated."

AI Insight generated on May 23, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
org.apache.tomcat:tomcatMaven
>= 7.0.0, < 7.0.77.0.7
org.apache.tomcat:tomcatMaven
>= 6.0.0, < 6.0.326.0.32
org.apache.tomcat:tomcatMaven
>= 5.5.0, < 5.5.335.5.33

Affected products

165
  • Sun Corporation/Jdk51 versions
    cpe:2.3:a:sun:jdk:1.5.0:*:*:*:*:*:*:*+ 50 more
    • cpe:2.3:a:sun:jdk:1.5.0:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update1:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update10:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update11:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update12:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update13:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update14:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update15:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update16:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update17:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update18:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update19:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update2:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update20:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update21:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update22:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update23:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update24:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update25:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update26:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update3:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update4:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update5:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update6:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update7:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update8:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.5.0:update9:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update1:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_10:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_11:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_12:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_13:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_14:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_15:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_16:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_17:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_18:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_19:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update1_b06:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update2:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_20:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_21:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_22:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_3:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_4:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_5:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_6:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:1.6.0:update_7:*:*:*:*:*:*
    • cpe:2.3:a:sun:jdk:*:update_23:*:*:*:*:*:*range: <=1.6.0
    • cpe:2.3:a:sun:jdk:*:update27:*:*:*:*:*:*range: <=1.5.0
  • Sun Corporation/Jre80 versions
    cpe:2.3:a:sun:jre:*:*:*:*:*:*:*:*+ 79 more
    • cpe:2.3:a:sun:jre:*:*:*:*:*:*:*:*range: <=1.4.2_29
    • cpe:2.3:a:sun:jre:1.4.2:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_1:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_10:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_11:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_12:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_13:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_14:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_15:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_16:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_17:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_18:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_19:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_2:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_20:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_21:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_22:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_23:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_24:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_25:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_26:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_27:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_28:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_3:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_4:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_5:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_6:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_7:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_8:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.4.2_9:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update1:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update10:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update11:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update12:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update13:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update14:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update15:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update16:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update17:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update18:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update19:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update2:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update20:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update21:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update22:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update23:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update24:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update25:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update26:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update3:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update4:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update5:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update6:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update7:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update8:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.5.0:update9:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_1:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_10:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_11:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_12:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_13:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_14:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_15:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_16:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_17:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_18:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_19:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_2:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_20:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_21:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_22:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_3:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_4:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_5:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_6:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:1.6.0:update_7:*:*:*:*:*:*
    • cpe:2.3:a:sun:jre:*:update_23:*:*:*:*:*:*range: <=1.6.0
    • cpe:2.3:a:sun:jre:*:update27:*:*:*:*:*:*range: <=1.5.0
  • Sun Corporation/Sdk30 versions
    cpe:2.3:a:sun:sdk:*:*:*:*:*:*:*:*+ 29 more
    • cpe:2.3:a:sun:sdk:*:*:*:*:*:*:*:*range: <=1.4.2_29
    • cpe:2.3:a:sun:sdk:1.4.2:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_02:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_1:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_10:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_11:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_12:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_13:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_14:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_15:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_16:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_17:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_18:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_19:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_20:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_21:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_22:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_23:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_24:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_25:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_26:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_27:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_28:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_3:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_4:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_5:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_6:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_7:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_8:*:*:*:*:*:*:*
    • cpe:2.3:a:sun:sdk:1.4.2_9:*:*:*:*:*:*:*
  • Range: <=6 Update 23, <=5.0 Update 27, <=1.4.2_29
  • Range: <=6 Update 23, <=5.0 Update 27, <=1.4.2_29
  • ghsa-coords
    Range: >= 7.0.0, < 7.0.7

Patches

3
407841c426dc

Improve HTTP specification compliance

https://github.com/apache/tomcatKonstantin KolinkoFeb 1, 2011via ghsa
2 files changed · +10 1
  • java/org/apache/catalina/connector/Request.java+6 1 modified
    @@ -3005,7 +3005,12 @@ protected void parseLocalesHeader(String value) {
                 int semi = entry.indexOf(";q=");
                 if (semi >= 0) {
                     try {
    -                    quality = Double.parseDouble(entry.substring(semi + 3));
    +                    String strQuality = entry.substring(semi + 3);
    +                    if (strQuality.length() <= 5) {
    +                        quality = Double.parseDouble(strQuality);
    +                    } else {
    +                        quality = 0.0;
    +                    }
                     } catch (NumberFormatException e) {
                         quality = 0.0;
                     }
    
  • webapps/docs/changelog.xml+4 0 modified
    @@ -113,6 +113,10 @@
             to <code>false</code> in the Host where a web application is deployed.
             (markt)
           </fix>
    +      <fix>
    +        Improve HTTP specification compliance in support of
    +        <code>Accept-Language</code> header. (kkolinko)
    +      </fix>
         </changelog>
       </subsection>
       <subsection name="Coyote">
    
69ef147c4498

Improve HTTP specification compliance

https://github.com/apache/tomcatKonstantin KolinkoFeb 1, 2011via ghsa
2 files changed · +10 1
  • java/org/apache/catalina/connector/Request.java+6 1 modified
    @@ -3005,7 +3005,12 @@ protected void parseLocalesHeader(String value) {
                 int semi = entry.indexOf(";q=");
                 if (semi >= 0) {
                     try {
    -                    quality = Double.parseDouble(entry.substring(semi + 3));
    +                    String strQuality = entry.substring(semi + 3);
    +                    if (strQuality.length() <= 5) {
    +                        quality = Double.parseDouble(strQuality);
    +                    } else {
    +                        quality = 0.0;
    +                    }
                     } catch (NumberFormatException e) {
                         quality = 0.0;
                     }
    
  • webapps/docs/changelog.xml+4 0 modified
    @@ -113,6 +113,10 @@
             to <code>false</code> in the Host where a web application is deployed.
             (markt)
           </fix>
    +      <fix>
    +        Improve HTTP specification compliance in support of
    +        <code>Accept-Language</code> header. (kkolinko)
    +      </fix>
         </changelog>
       </subsection>
       <subsection name="Coyote">
    
b0c1eeaa0d30

Improve HTTP specification compliance

https://github.com/apache/tomcatKonstantin KolinkoFeb 1, 2011via ghsa
2 files changed · +10 1
  • java/org/apache/catalina/connector/Request.java+6 1 modified
    @@ -3005,7 +3005,12 @@ protected void parseLocalesHeader(String value) {
                 int semi = entry.indexOf(";q=");
                 if (semi >= 0) {
                     try {
    -                    quality = Double.parseDouble(entry.substring(semi + 3));
    +                    String strQuality = entry.substring(semi + 3);
    +                    if (strQuality.length() <= 5) {
    +                        quality = Double.parseDouble(strQuality);
    +                    } else {
    +                        quality = 0.0;
    +                    }
                     } catch (NumberFormatException e) {
                         quality = 0.0;
                     }
    
  • webapps/docs/changelog.xml+4 0 modified
    @@ -113,6 +113,10 @@
             to <code>false</code> in the Host where a web application is deployed.
             (markt)
           </fix>
    +      <fix>
    +        Improve HTTP specification compliance in support of
    +        <code>Accept-Language</code> header. (kkolinko)
    +      </fix>
         </changelog>
       </subsection>
       <subsection name="Coyote">
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

80

News mentions

0

No linked articles in our index yet.