CVE-2025-66453
Rhino vulnerable high CPU usage and potential DoS when passing specific numbers to toFixed() function
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.5
Rhino vulnerable high CPU usage and potential DoS when passing specific numbers to toFixed() function
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.
- Record
CVE-2025-66453- CVSS 4.0
- 5.5 Medium
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 - Weakness
- CWE-400
- Updated
- 2026-11-02
EUVDEUVD-2025-201013
5.5
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.
- Record
EUVD-2025-201013- CVSS 4.0
- 5.5 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-3w8q-xq97-5j7x
2.7
Rhino has high CPU usage and potential DoS when passing specific numbers to `toFixed()` function
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.
Example code: (4.47118444E-314).toFixed(2)
- Record
GHSA-3w8q-xq97-5j7x- CVSS 4.0
- 2.7 Low
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:U - Weakness
- CWE-400
- Updated
- 2026-11-02
NVD
5.5
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.
- Record
CVE-2025-66453- CVSS 4.0
- 5.5 Medium
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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSV
5.5
Rhino vulnerable high CPU usage and potential DoS when passing specific numbers to toFixed() function
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.
- Record
CVE-2025-66453- CVSS 4.0
- 5.5 Medium
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 - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-66453
7.5
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.
- Record
DEBIAN-CVE-2025-66453- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSVGHSA-3w8q-xq97-5j7x
2.7
Rhino has high CPU usage and potential DoS when passing specific numbers to `toFixed()` function
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.
Example code: (4.47118444E-314).toFixed(2)
- Record
GHSA-3w8q-xq97-5j7x- CVSS 4.0
- 2.7 Low
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:U - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-66453
5.5
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.
- Record
UBUNTU-CVE-2025-66453- CVSS 4.0
- 5.5 Medium
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 - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVAZL-71221 No score
CVE-2025-66453 affecting package rhino for versions less than 1.7.15.1-1
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.
- Record
AZL-71221- Updated
- 2026-11-02
OSVAZL-71503 No score
CVE-2025-66453 affecting package rhino 1.7.7.1-2
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.
- Record
AZL-71503- Updated
- 2026-11-02
OSVCLSA-2026-1771459787 No score
TuxCare security update for org.mozilla:rhino (1 CVE)
TuxCare rebuilt org.mozilla:rhino to address 1 CVE. Fixed in 1.7.10-tuxcare.1.
- Record
CLSA-2026-1771459787- Updated
- 2026-11-02
OSVCLSA-2026-1771546195 No score
TuxCare security update for org.mozilla:rhino (1 CVE)
TuxCare rebuilt org.mozilla:rhino to address 1 CVE. Fixed in 1.7.15-tuxcare.1.
- Record
CLSA-2026-1771546195- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15798-1 No score
rhino-1.7.15.1-1.1 on GA media
These are all security issues fixed in the rhino-1.7.15.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15798-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:20297-1 No score
Security update for rhino
This update for rhino fixes the following issues:
Update to 1.7.15.1:
- CVE-2025-66453: Fixed a problem with formatting of floating-point numbers to strings that may result in DoS (bsc#1254481).
- Record
openSUSE-SU-2026:20297-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:4390-1 No score
Security update for rhino
This update for rhino fixes the following issues:
Update to version 1.7.15.1.
Security issues fixed:
- CVE-2025-66453: high CPU consumption when processing specific numbers via the
toFixed()function (bsc#1254481).
Other changes and issues fixed:
- Version 1.7.15:
- Basic support for 'rest parameters'.
- Improvements in Unicode support.
- 'Symbol.species' implemented in many places.
- More correct property ordering in many places.
- Miscellaneous improvements and bug fixes.
- Record
SUSE-SU-2025:4390-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:20603-1 No score
Security update for rhino
This update for rhino fixes the following issues:
Update to 1.7.15.1:
- CVE-2025-66453: Fixed a problem with formatting of floating-point numbers to strings that may result in DoS (bsc#1254481).
- Record
SUSE-SU-2026:20603-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.mozilla:rhinoMaven |
before 1.7.14.1 | 1.7.14.1 |
org.mozilla:rhinoMaven |
1.7.15 up to 1.7.15.1 | 1.7.15.1 |
org.mozilla:rhinoMaven |
1.8.0 to 1.8.0 | 1.8.1 |
rhinoAzure Linux:3 |
before 1.7.15.1-1 | 1.7.15.1-1 |
rhinoAzure Linux:2 |
through 1.7.7.1-2 | None known |
org.mozilla:rhinoTuxCare:Maven |
1.7.10 up to 1.7.10-tuxcare.1 | 1.7.10-tuxcare.1 |
org.mozilla:rhinoTuxCare:Maven |
1.7.15 up to 1.7.15-tuxcare.1 | 1.7.15-tuxcare.1 |
rhinoDebian:12 |
before 1.7.14.1-0+deb12u1, plus listed versions 1.7.14-2.1 |
1.7.14.1-0+deb12u1 |
rhinoDebian:13 |
before 1.7.15.1-0.1~deb13u1, plus listed versions 1.7.15-1 |
1.7.15.1-0.1~deb13u1 |
rhinoDebian:14 |
before 1.7.15.1-0.1, plus listed versions 1.7.15-11.7.15.1-0.1~deb13u1 |
1.7.15.1-0.1 |
Show 17 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.mozilla:rhinoMaven |
before 1.7.14.1, plus listed versions 1.7.101.7.111.7.11-RC11.7.11-RC21.7.12 Show 13 moreShow less1.7.131.7.141.7.14-RC11.7.61.7.71.7.7.11.7.7.21.7.81.7.8-RC11.7.91.7R31.7R41.7R5 |
1.7.14.1 |
org.mozilla:rhinoMaven |
1.8.0 up to 1.8.1 | 1.8.1 |
rhinoSUSE:Linux Enterprise Module for Basesystem 15 SP6 |
before 1.7.15.1-150200.12.7.1 | 1.7.15.1-150200.12.7.1 |
rhinoSUSE:Linux Enterprise Module for Basesystem 15 SP7 |
before 1.7.15.1-150200.12.7.1 | 1.7.15.1-150200.12.7.1 |
rhinoopenSUSE:Leap 15.6 |
before 1.7.15.1-150200.12.7.1 | 1.7.15.1-150200.12.7.1 |
rhinoSUSE:Linux Enterprise Server 16.0 |
before 1.7.15.1-160000.1.1 | 1.7.15.1-160000.1.1 |
rhinoSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 1.7.15.1-160000.1.1 | 1.7.15.1-160000.1.1 |
rhinoUbuntu:16.04:LTS |
All versions, plus listed versions 1.7R4-3 |
None known |
rhinoUbuntu:18.04:LTS |
All versions, plus listed versions 1.7.7.1-1 |
None known |
rhinoUbuntu:20.04:LTS |
All versions, plus listed versions 1.7.7.1-1 |
None known |
rhinoUbuntu:22.04:LTS |
All versions, plus listed versions 1.7.7.2-3 |
None known |
rhinoUbuntu:24.04:LTS |
All versions, plus listed versions 1.7.14-2.1 |
None known |
rhinoUbuntu:25.10 |
All versions, plus listed versions 1.7.15-1 |
None known |
rhinoUbuntu:26.10 |
All versions, plus listed versions 1.7.15-1build11.7.15.1-0.1 |
None known |
rhinoUbuntu:26.04:LTS |
All versions, plus listed versions 1.7.15-11.7.15-1build1 |
None known |
rhinoopenSUSE:Tumbleweed |
before 1.7.15.1-1.1 | 1.7.15.1-1.1 |
rhinoopenSUSE:Leap 16.0 |
before 1.7.15.1-160000.1.1 | 1.7.15.1-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-66453 is a medium vulnerability (CVSS 5.5) in Mozilla Rhino, published December 3, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in org.mozilla:rhino 1.7.14.1.
References
github.com/mozilla/rhino/security/advisories/GHSA-3w8q-xq97-5j7x
github.com/mozilla/rhino/commit/2bcf4c43deace35f1f57d86377c6767b0608986e
nvd.nist.gov/vuln/detail/CVE-2025-66453
github.com/advisories/GHSA-3w8q-xq97-5j7x
github.com/CVEProject/cvelistV5/tree/main/cves/2025/66xxx/CVE-2025-66453.json
security-tracker.debian.org/tracker/CVE-2025-66453