CVE-2023-43646

Estado: ModificadaAlta (7.5)—PoC
Gravedad7.5Alta · CVSS 3.1
Probabilidad de explotación1.38 %mayor que el 72 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoDisponiblePrueba de concepto en GitHub (no verificada)

get-func-name es un módulo para recuperar el nombre de una función de forma segura y consistente tanto en NodeJS como en el navegador. Las versiones anteriores a la 2.0.1 están sujetas a una vulnerabilidad de denegación de servicio de expresión regular (redos) que puede provocar una denegación de servicio al analizar entradas maliciosas. Esta vulnerabilidad se puede aprovechar cuando hay un desequilibrio entre paréntesis, lo que da como resultado un retroceso excesivo y, posteriormente, aumenta significativamente la carga de la CPU y el tiempo de procesamiento.

Leer descripción completaMostrar menos

Esta vulnerabilidad se puede activar utilizando la siguiente entrada: '\t'.repeat(54773) + '\t/function/i'. Este problema se solucionó en el commit `f934b228b` que se incluyó en las versiones 2.0.1. Se recomienda a los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad.

CVSS

Puntuación base
7.5
Versión
3.1
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
1.38 %
Percentil entre todas las CVEs puntuadas
72
Fecha de la puntuación
21/10/2026

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Exploits públicos

Hay código de explotación o plantillas de detección públicos. No es lo mismo que explotación activa confirmada (KEV), pero aumenta el riesgo: parchee con prioridad.

⚠️ Las pruebas de concepto de GitHub no están verificadas: algunas son falsas o contienen malware. No las ejecute nunca fuera de un laboratorio aislado.

Tecnologías afectadas (1)

CWE

Referencias

Mostrar las 4 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2023-43646",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2023-43646",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2024-09-24T17:25:36.130206Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 8.6,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 4,
        "exploitabilityScore": 3.9
      },
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.5,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "chaijs",
          "product": "get-func-name",
          "versions": [
            {
              "status": "affected",
              "version": "< 2.0.1"
            }
          ]
        }
      ]
    }
  ],
  "published": "2023-09-27T15:19:34.427",
  "references": [
    {
      "url": "https://github.com/chaijs/get-func-name/commit/f934b228b5e2cb94d6c8576d3aac05493f667c69",
      "tags": [
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/chaijs/get-func-name/security/advisories/GHSA-4q6p-r6v2-jvc5",
      "tags": [
        "Exploit",
        "Third Party Advisory"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/chaijs/get-func-name/commit/f934b228b5e2cb94d6c8576d3aac05493f667c69",
      "tags": [
        "Patch"
      ],
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    },
    {
      "url": "https://github.com/chaijs/get-func-name/security/advisories/GHSA-4q6p-r6v2-jvc5",
      "tags": [
        "Exploit",
        "Third Party Advisory"
      ],
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    }
  ],
  "vulnStatus": "Modified",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-400"
        },
        {
          "lang": "en",
          "value": "CWE-1333"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "get-func-name is a module to retrieve a function's name securely and consistently both in NodeJS and the browser. Versions prior to 2.0.1 are subject to a regular expression denial of service (redos) vulnerability which may lead to a denial of service when parsing malicious input. This vulnerability can be exploited when there is an imbalance in parentheses, which results in excessive backtracking and subsequently increases the CPU load and processing time significantly. This vulnerability can be triggered using the following input: '\\t'.repeat(54773) + '\\t/function/i'. This issue has been addressed in commit `f934b228b` which has been included in releases from 2.0.1. Users are advised to upgrade. There are no known workarounds for this vulnerability."
    },
    {
      "lang": "es",
      "value": "get-func-name es un módulo para recuperar el nombre de una función de forma segura y consistente tanto en NodeJS como en el navegador. Las versiones anteriores a la 2.0.1 están sujetas a una vulnerabilidad de denegación de servicio de expresión regular (redos) que puede provocar una denegación de servicio al analizar entradas maliciosas. Esta vulnerabilidad se puede aprovechar cuando hay un desequilibrio entre paréntesis, lo que da como resultado un retroceso excesivo y, posteriormente, aumenta significativamente la carga de la CPU y el tiempo de procesamiento. Esta vulnerabilidad se puede activar utilizando la siguiente entrada: '\\t'.repeat(54773) + '\\t/function/i'. Este problema se solucionó en el commit `f934b228b` que se incluyó en las versiones 2.0.1. Se recomienda a los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad."
    }
  ],
  "lastModified": "2026-06-17T06:26:08.773",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:chaijs:get-func-name:*:*:*:*:*:node.js:*:*",
              "vulnerable": true,
              "matchCriteriaId": "5D5CAAB6-0171-4DE6-B6AD-E9B9534A549E",
              "versionEndExcluding": "2.0.1"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}