CVE-2025-62496 (GCVE-0-2025-62496)

Vulnerability from cvelistv5 – Published: 2025-10-16 15:52 – Updated: 2025-10-16 17:26
VLAI
Title
Integer overflow in js_bigint_from_string in QuickJS
Summary
A vulnerability exists in the QuickJS engine's BigInt string parsing logic (js_bigint_from_string) when attempting to create a BigInt from a string with an excessively large number of digits. The function calculates the necessary number of bits (n_bits) required to store the BigInt using the formula: $$\text{n\_bits} = (\text{n\_digits} \times 27 + 7) / 8 \quad (\text{for radix 10})$$ * For large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $(\text{n\_digits} \times 27 + 7)$ exceeds the maximum value of a standard signed 32-bit integer, resulting in an Integer Overflow. * The resulting n_bits value becomes unexpectedly small or even negative due to this wrap-around. * This flawed n_bits is then used to compute n_limbs, the number of memory "limbs" needed for the BigInt object. Since n_bits is too small, the calculated n_limbs is also significantly underestimated. * The function proceeds to allocate a JSBigInt object using this underestimated n_limbs. * When the function later attempts to write the actual BigInt data into the allocated object, the small buffer size is quickly exceeded, leading to a Heap Out-of-Bounds Write as data is written past the end of the allocated r->tab array.
SSVC
Exploitation: poc Automatable: no Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2025-10-16 17:26 UTC
CWE
  • CWE-190 - Integer Overflow or Wraparound
Assigner
Google CNA under the Google root
CNA scorecard B 77/100 over 40 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
QuickJS QuickJS Affected: 2025-04-26 , < 2025-09-13 (date)
guessed Create a notification for this product.
Date Public
2025-07-24 22:00
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2025-62496",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-16T17:26:14.998141Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-16T17:26:25.654Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://bellard.org/quickjs/",
          "defaultStatus": "unaffected",
          "packageName": "js_bigint_from_string",
          "product": "QuickJS",
          "vendor": "QuickJS",
          "versions": [
            {
              "lessThan": "2025-09-13",
              "status": "affected",
              "version": "2025-04-26",
              "versionType": "date"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Google Big Sleep"
        }
      ],
      "datePublic": "2025-07-24T22:00:00.000Z",
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eA vulnerability exists in the QuickJS engine\u0027s BigInt string parsing logic (\u003ccode\u003ejs_bigint_from_string\u003c/code\u003e) when attempting to create a BigInt from a string with an \u003cb\u003eexcessively large number of digits\u003c/b\u003e.\u003c/p\u003e\u003cp\u003eThe function calculates the necessary number of bits (\u003ccode\u003en_bits\u003c/code\u003e) required to store the BigInt using the formula:\u003c/p\u003e\u003cdiv\u003e$$\\text{n\\_bits} = (\\text{n\\_digits} \\times 27 + 7) / 8 \\quad (\\text{for radix 10})$$\u003c/div\u003e\u003col\u003e\u003cli\u003e\u003cp\u003eFor large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $(\\text{n\\_digits} \\times 27 + 7)$ exceeds the maximum value of a standard signed 32-bit integer, resulting in an \u003cb\u003eInteger Overflow\u003c/b\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThe resulting \u003ccode\u003en_bits\u003c/code\u003e value becomes unexpectedly small or even \u003cb\u003enegative\u003c/b\u003e due to this wrap-around.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThis flawed \u003ccode\u003en_bits\u003c/code\u003e is then used to compute \u003ccode\u003en_limbs\u003c/code\u003e, the number of memory \"limbs\" needed for the BigInt object. Since \u003ccode\u003en_bits\u003c/code\u003e is too small, the calculated \u003ccode\u003en_limbs\u003c/code\u003e is also \u003cb\u003esignificantly underestimated\u003c/b\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThe function proceeds to allocate a \u003cb\u003e\u003ccode\u003eJSBigInt\u003c/code\u003e\u003c/b\u003e object using this underestimated \u003ccode\u003en_limbs\u003c/code\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eWhen the function later attempts to write the actual BigInt data into the allocated object, the small buffer size is quickly exceeded, leading to a \u003cb\u003eHeap Out-of-Bounds Write\u003c/b\u003e as data is written past the end of the allocated \u003ccode\u003er-\u0026gt;tab\u003c/code\u003e array.\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003cbr\u003e"
            }
          ],
          "value": "A vulnerability exists in the QuickJS engine\u0027s BigInt string parsing logic (js_bigint_from_string) when attempting to create a BigInt from a string with an excessively large number of digits.\n\nThe function calculates the necessary number of bits (n_bits) required to store the BigInt using the formula:\n\n$$\\text{n\\_bits} = (\\text{n\\_digits} \\times 27 + 7) / 8 \\quad (\\text{for radix 10})$$\n\n  *  For large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $(\\text{n\\_digits} \\times 27 + 7)$ exceeds the maximum value of a standard signed 32-bit integer, resulting in an Integer Overflow.\n\n\n  *  The resulting n_bits value becomes unexpectedly small or even negative due to this wrap-around.\n\n\n  *  This flawed n_bits is then used to compute n_limbs, the number of memory \"limbs\" needed for the BigInt object. Since n_bits is too small, the calculated n_limbs is also significantly underestimated.\n\n\n  *  The function proceeds to allocate a JSBigInt object using this underestimated n_limbs.\n\n\n  *  When the function later attempts to write the actual BigInt data into the allocated object, the small buffer size is quickly exceeded, leading to a Heap Out-of-Bounds Write as data is written past the end of the allocated r-\u003etab array."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-175",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-175 Code Inclusion"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "ADJACENT",
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "privilegesRequired": "LOW",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "LOW",
            "subConfidentialityImpact": "HIGH",
            "subIntegrityImpact": "HIGH",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L",
            "version": "4.0",
            "vulnAvailabilityImpact": "LOW",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-190",
              "description": "CWE-190 Integer Overflow or Wraparound",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-10-16T15:52:05.654Z",
        "orgId": "14ed7db2-1595-443d-9d34-6215bf890778",
        "shortName": "Google"
      },
      "references": [
        {
          "url": "https://bellard.org/quickjs/Changelog"
        },
        {
          "url": "https://issuetracker.google.com/434193016"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "Integer overflow in js_bigint_from_string in QuickJS",
      "x_generator": {
        "engine": "Vulnogram 0.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "14ed7db2-1595-443d-9d34-6215bf890778",
    "assignerShortName": "Google",
    "cveId": "CVE-2025-62496",
    "datePublished": "2025-10-16T15:52:05.654Z",
    "dateReserved": "2025-10-15T08:47:41.878Z",
    "dateUpdated": "2025-10-16T17:26:25.654Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-62496",
      "date": "2026-11-06",
      "epss": "0.00491",
      "percentile": "0.42371"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "collectionURL": "https://bellard.org/quickjs/",
                "defaultStatus": "unaffected",
                "packageName": "js_bigint_from_string",
                "product": "QuickJS",
                "vendor": "QuickJS",
                "versions": [
                  {
                    "lessThan": "2025-09-13",
                    "status": "affected",
                    "version": "2025-04-26",
                    "versionType": "date"
                  }
                ]
              }
            ],
            "source": "cve-coordination@google.com"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "AB84E2DC-74EA-4956-9521-C2B652B8E8C2",
                    "versionEndExcluding": "2025-09-13",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "A vulnerability exists in the QuickJS engine\u0027s BigInt string parsing logic (js_bigint_from_string) when attempting to create a BigInt from a string with an excessively large number of digits.\n\nThe function calculates the necessary number of bits (n_bits) required to store the BigInt using the formula:\n\n$$\\text{n\\_bits} = (\\text{n\\_digits} \\times 27 + 7) / 8 \\quad (\\text{for radix 10})$$\n\n  *  For large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $(\\text{n\\_digits} \\times 27 + 7)$ exceeds the maximum value of a standard signed 32-bit integer, resulting in an Integer Overflow.\n\n\n  *  The resulting n_bits value becomes unexpectedly small or even negative due to this wrap-around.\n\n\n  *  This flawed n_bits is then used to compute n_limbs, the number of memory \"limbs\" needed for the BigInt object. Since n_bits is too small, the calculated n_limbs is also significantly underestimated.\n\n\n  *  The function proceeds to allocate a JSBigInt object using this underestimated n_limbs.\n\n\n  *  When the function later attempts to write the actual BigInt data into the allocated object, the small buffer size is quickly exceeded, leading to a Heap Out-of-Bounds Write as data is written past the end of the allocated r-\u003etab array."
          },
          {
            "lang": "es",
            "value": "Una vulnerabilidad existe en la l\u00f3gica de an\u00e1lisis de cadenas BigInt del motor QuickJS (js_bigint_from_string) al intentar crear un BigInt a partir de una cadena con un n\u00famero excesivamente grande de d\u00edgitos.\n\nLa funci\u00f3n calcula el n\u00famero necesario de bits (n_bits) requerido para almacenar el BigInt utilizando la f\u00f3rmula:\n\n$$\\text{n\\_bits} = (\\text{n\\_digits} \\times 27 + 7) / 8 \\quad (\\text{para base 10})$$\n\n  *  Para cadenas de entrada grandes (por ejemplo, $79,536,432$ d\u00edgitos o m\u00e1s para base 10), el c\u00e1lculo intermedio $(\\text{n\\_digits} \\times 27 + 7)$ excede el valor m\u00e1ximo de un entero con signo est\u00e1ndar de 32 bits, lo que resulta en un desbordamiento de entero.\n\n\n  *  El valor resultante de n_bits se vuelve inesperadamente peque\u00f1o o incluso negativo debido a este ajuste c\u00edclico.\n\n\n  *  Este n_bits defectuoso se utiliza entonces para calcular n_limbs, el n\u00famero de \u0027limbs\u0027 de memoria necesarios para el objeto BigInt. Dado que n_bits es demasiado peque\u00f1o, el n_limbs calculado tambi\u00e9n se subestima significativamente.\n\n\n  *  La funci\u00f3n procede a asignar un objeto JSBigInt utilizando este n_limbs subestimado.\n\n\n  *  Cuando la funci\u00f3n intenta posteriormente escribir los datos reales del BigInt en el objeto asignado, el peque\u00f1o tama\u00f1o del b\u00fafer se excede r\u00e1pidamente, lo que lleva a una escritura fuera de l\u00edmites en el heap a medida que los datos se escriben m\u00e1s all\u00e1 del final del array r -\u003e tab asignado."
          }
        ],
        "id": "CVE-2025-62496",
        "lastModified": "2026-10-19T17:10:00.173",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "ADJACENT_NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 5.9,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ],
          "cvssMetricV40": [
            {
              "cvssData": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "HIGH",
                "attackRequirements": "PRESENT",
                "attackVector": "ADJACENT",
                "availabilityRequirement": "NOT_DEFINED",
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "confidentialityRequirement": "NOT_DEFINED",
                "exploitMaturity": "NOT_DEFINED",
                "integrityRequirement": "NOT_DEFINED",
                "modifiedAttackComplexity": "NOT_DEFINED",
                "modifiedAttackRequirements": "NOT_DEFINED",
                "modifiedAttackVector": "NOT_DEFINED",
                "modifiedPrivilegesRequired": "NOT_DEFINED",
                "modifiedSubAvailabilityImpact": "NOT_DEFINED",
                "modifiedSubConfidentialityImpact": "NOT_DEFINED",
                "modifiedSubIntegrityImpact": "NOT_DEFINED",
                "modifiedUserInteraction": "NOT_DEFINED",
                "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
                "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
                "modifiedVulnIntegrityImpact": "NOT_DEFINED",
                "privilegesRequired": "LOW",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "LOW",
                "subConfidentialityImpact": "HIGH",
                "subIntegrityImpact": "HIGH",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:X/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",
                "version": "4.0",
                "vulnAvailabilityImpact": "LOW",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "source": "cve-coordination@google.com",
              "type": "Secondary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2025-62496",
                "options": [
                  {
                    "exploitation": "poc"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-16T17:26:14.998141Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2025-10-16T16:15:40.260",
        "references": [
          {
            "source": "cve-coordination@google.com",
            "tags": [
              "Release Notes"
            ],
            "url": "https://bellard.org/quickjs/Changelog"
          },
          {
            "source": "cve-coordination@google.com",
            "tags": [
              "Exploit",
              "Issue Tracking"
            ],
            "url": "https://issuetracker.google.com/434193016"
          }
        ],
        "sourceIdentifier": "cve-coordination@google.com",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-190"
              }
            ],
            "source": "cve-coordination@google.com",
            "type": "Secondary"
          }
        ]
      }
    },
    "redhat_vex": {
      "current_release_date": "2025-10-21T18:33:04+00:00",
      "cve": "CVE-2025-62496",
      "id": "CVE-2025-62496",
      "initial_release_date": "2025-07-24T22:00:00+00:00",
      "product_status:known_not_affected": "1",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "Integer overflow in js_bigint_from_string in QuickJS",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-62496.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2025-62496",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2025-10-16T17:26:14.998141Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2025-10-16T17:26:22.279Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://bellard.org/quickjs/",
              "defaultStatus": "unaffected",
              "packageName": "js_bigint_from_string",
              "product": "QuickJS",
              "vendor": "QuickJS",
              "versions": [
                {
                  "lessThan": "2025-09-13",
                  "status": "affected",
                  "version": "2025-04-26",
                  "versionType": "date"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Google Big Sleep"
            }
          ],
          "datePublic": "2025-07-24T22:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eA vulnerability exists in the QuickJS engine\u0027s BigInt string parsing logic (\u003ccode\u003ejs_bigint_from_string\u003c/code\u003e) when attempting to create a BigInt from a string with an \u003cb\u003eexcessively large number of digits\u003c/b\u003e.\u003c/p\u003e\u003cp\u003eThe function calculates the necessary number of bits (\u003ccode\u003en_bits\u003c/code\u003e) required to store the BigInt using the formula:\u003c/p\u003e\u003cdiv\u003e$$\\text{n\\_bits} = (\\text{n\\_digits} \\times 27 + 7) / 8 \\quad (\\text{for radix 10})$$\u003c/div\u003e\u003col\u003e\u003cli\u003e\u003cp\u003eFor large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $(\\text{n\\_digits} \\times 27 + 7)$ exceeds the maximum value of a standard signed 32-bit integer, resulting in an \u003cb\u003eInteger Overflow\u003c/b\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThe resulting \u003ccode\u003en_bits\u003c/code\u003e value becomes unexpectedly small or even \u003cb\u003enegative\u003c/b\u003e due to this wrap-around.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThis flawed \u003ccode\u003en_bits\u003c/code\u003e is then used to compute \u003ccode\u003en_limbs\u003c/code\u003e, the number of memory \"limbs\" needed for the BigInt object. Since \u003ccode\u003en_bits\u003c/code\u003e is too small, the calculated \u003ccode\u003en_limbs\u003c/code\u003e is also \u003cb\u003esignificantly underestimated\u003c/b\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eThe function proceeds to allocate a \u003cb\u003e\u003ccode\u003eJSBigInt\u003c/code\u003e\u003c/b\u003e object using this underestimated \u003ccode\u003en_limbs\u003c/code\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eWhen the function later attempts to write the actual BigInt data into the allocated object, the small buffer size is quickly exceeded, leading to a \u003cb\u003eHeap Out-of-Bounds Write\u003c/b\u003e as data is written past the end of the allocated \u003ccode\u003er-\u0026gt;tab\u003c/code\u003e array.\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003cbr\u003e"
                }
              ],
              "value": "A vulnerability exists in the QuickJS engine\u0027s BigInt string parsing logic (js_bigint_from_string) when attempting to create a BigInt from a string with an excessively large number of digits.\n\nThe function calculates the necessary number of bits (n_bits) required to store the BigInt using the formula:\n\n$$\\text{n\\_bits} = (\\text{n\\_digits} \\times 27 + 7) / 8 \\quad (\\text{for radix 10})$$\n\n  *  For large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $(\\text{n\\_digits} \\times 27 + 7)$ exceeds the maximum value of a standard signed 32-bit integer, resulting in an Integer Overflow.\n\n\n  *  The resulting n_bits value becomes unexpectedly small or even negative due to this wrap-around.\n\n\n  *  This flawed n_bits is then used to compute n_limbs, the number of memory \"limbs\" needed for the BigInt object. Since n_bits is too small, the calculated n_limbs is also significantly underestimated.\n\n\n  *  The function proceeds to allocate a JSBigInt object using this underestimated n_limbs.\n\n\n  *  When the function later attempts to write the actual BigInt data into the allocated object, the small buffer size is quickly exceeded, leading to a Heap Out-of-Bounds Write as data is written past the end of the allocated r-\u003etab array."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-175",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-175 Code Inclusion"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "HIGH",
                "attackRequirements": "PRESENT",
                "attackVector": "ADJACENT",
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "privilegesRequired": "LOW",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "LOW",
                "subConfidentialityImpact": "HIGH",
                "subIntegrityImpact": "HIGH",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L",
                "version": "4.0",
                "vulnAvailabilityImpact": "LOW",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-190",
                  "description": "CWE-190 Integer Overflow or Wraparound",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2025-10-16T15:52:05.654Z",
            "orgId": "14ed7db2-1595-443d-9d34-6215bf890778",
            "shortName": "Google"
          },
          "references": [
            {
              "url": "https://bellard.org/quickjs/Changelog"
            },
            {
              "url": "https://issuetracker.google.com/434193016"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Integer overflow in js_bigint_from_string in QuickJS",
          "x_generator": {
            "engine": "Vulnogram 0.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "14ed7db2-1595-443d-9d34-6215bf890778",
        "assignerShortName": "Google",
        "cveId": "CVE-2025-62496",
        "datePublished": "2025-10-16T15:52:05.654Z",
        "dateReserved": "2025-10-15T08:47:41.878Z",
        "dateUpdated": "2025-10-16T17:26:25.654Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.