Skip to content
Heist/ feed
Back to feed
Medium

Rhino vulnerable high CPU usage and potential DoS when passing specific numbers to toFixed() function

Type: advisorySources: OSV

Rhino is an open-source implementation of JavaScript written entirely in Java. Prior to 1.8.1, 1.7.15.1, and 1.7.14.1, when an application passed an attacker controlled float poing number into the toFixed() function, it might lead to high CPU consumption and a potential Denial of Service. Small numbers go through this call stack: NativeNumber.numTo > DToA.JS_dtostr > DToA.JS_dtoa > DToA.pow5mult where pow5mult attempts to raise 5 to a ridiculous power. This vulnerability is fixed in 1.8.1, 1.7.15.1, and 1.7.14.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-66453
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 06:17 UTC · Revision 1

Source evidence

Rhino vulnerable high CPU usage and potential DoS when passing specific numbers to toFixed() function

core-osv · Original source

Published 3 Dec 2025, 19:31 UTC

Rhino is an open-source implementation of JavaScript written entirely in Java. Prior to 1.8.1, 1.7.15.1, and 1.7.14.1, when an application passed an attacker controlled float poing number into the toFixed() function, it might lead to high CPU consumption and a potential Denial of Service. Small numbers go through this call stack: NativeNumber.numTo > DToA.JS_dtostr > DToA.JS_dtoa > DToA.pow5mult where pow5mult attempts to raise 5 to a ridiculous power. This vulnerability is fixed in 1.8.1, 1.7.15.1, and 1.7.14.1.

osv:CVE-2025-66453
Complete source record
{
  "id": "1cb47adf106d5b20e798f5a952516582e3e621b0a885da5fe7a17d92963bef99",
  "url": "https://osv.dev/vulnerability/CVE-2025-66453",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Rhino vulnerable high CPU usage and potential DoS when passing specific numbers to toFixed() function",
    "summary": "Rhino is an open-source implementation of JavaScript written entirely in Java. Prior to 1.8.1, 1.7.15.1, and 1.7.14.1, when an application passed an attacker controlled float poing number into the toFixed() function, it might lead to high CPU consumption and a potential Denial of Service. Small numbers go through this call stack: NativeNumber.numTo > DToA.JS_dtostr > DToA.JS_dtoa > DToA.pow5mult where pow5mult attempts to raise 5 to a ridiculous power. This vulnerability is fixed in 1.8.1, 1.7.15.1, and 1.7.14.1.",
    "evidence": "osv:CVE-2025-66453",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-66453",
      "aliases": [
        "CVE-2025-66453",
        "GHSA-3w8q-xq97-5j7x"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mozilla/rhino",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "596b2915d3f1dd00a6843435e5752050618daa25"
                },
                {
                  "introduced": "22557a6c3ea3ad9addda5b0de01d2d720bd291d3"
                },
                {
                  "last_affected": "0dcc00f6b3e2623f732828186ef8464d69ba51d1"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:mozilla:rhino:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.7.14.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:mozilla:rhino:1.7.15:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.7.15"
                      },
                      {
                        "last_affected": "1.7.15"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:mozilla:rhino:1.8.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.8.0"
                      },
                      {
                        "last_affected": "1.8.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.7.15",
            "1.8.0",
            "Rhino1_7_15_Release",
            "Rhino1_8_0_Release",
            "Rhino1_7_14_RC1_Release",
            "code-formatting-required",
            "Rhino1_7_13_Release",
            "Rhino1_7_12_Release",
            "Rhino1_7_11_Release",
            "Rhino1_7_11_RC2_Release",
            "Rhino1_7_11_RC1_Release",
            "Rhino1_7_10_Release",
            "Rhino1_7_9_Release",
            "Rhino1_7_8_Release",
            "Rhino1_7_8_RC1_RELEASE",
            "Rhino1_7_7_RELEASE",
            "Rhino1_7_6_RELEASE",
            "Rhino1_7R5_RELEASE",
            "Rhino1_7R4_RELEASE",
            "Rhino1_7R3_RELEASE",
            "BEFORE_AST",
            "Rhino1_6R3_RELEASE",
            "JS_1_7_ALPHA_MERGE",
            "SUNBIRD_0_3a2_RELEASE",
            "Rhino1_6R2_RELEASE",
            "PREFERENCES_20050201_BASE",
            "before_simpler_undefined_280047",
            "Rhino1_6R1_RELEASE",
            "BEFORE_E4X",
            "Rhino150R5_RELEASE",
            "before_225831_merge",
            "before_less_classes_optimizer",
            "Rhino150R4_RELEASE",
            "Rhino150R3_RELEASE",
            "EDITOR_EMBEDDING_20011025_BASE",
            "before_new_natives",
            "before_jsdebugger",
            "Rhino150R1_RELEASE",
            "Rhino14R3_RELEASE",
            "Rhino140R3_RELEASE"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-66453.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.267804279Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/66xxx/CVE-2025-66453.json",
        "https://github.com/mozilla/rhino/security/advisories/GHSA-3w8q-xq97-5j7x",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-66453"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/66xxx/CVE-2025-66453.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-66453",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493018,
  "published_at": "2025-12-03T19:31:54.629+00:00"
}