CVE-2023-30590
The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet, but the function is also needed to compute the corresponding public key after calling setPrivateKey(). However, the documentation says this API call: "Generates private and public Diffie-Hellman key values".
The documented behavior is very different from the actual behavior, and this difference could easily lead to security issues in applications that use these APIs as the DiffieHellman may be used as the basis for application-level security, implications are consequently broad.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Puntuación base: 7.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 1.46%
- Percentil entre todas las CVEs puntuadas: 73
- Fecha de la puntuación: 7/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).
Tecnologías afectadas (1)
CWE
- NVD-CWE-Other
Referencias
- https://lists.debian.org/debian-lts-announce/2024/03/msg00029.html
- https://nodejs.org/en/blog/vulnerability/june-2023-security-releases
- https://lists.debian.org/debian-lts-announce/2024/03/msg00029.html
- https://lists.debian.org/debian-lts-announce/2024/09/msg00029.html
- https://nodejs.org/en/blog/vulnerability/june-2023-security-releases
- https://security.netapp.com/advisory/ntap-20241101-0011/
JSON original (NVD)
Mostrar
{
"id": "CVE-2023-30590",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"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:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "support@hackerone.com",
"affectedData": [
{
"vendor": "NodeJS",
"product": "Node",
"versions": [
{
"status": "affected",
"version": "4.0",
"lessThan": "4.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.0",
"lessThan": "5.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.0",
"lessThan": "6.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "7.0",
"lessThan": "7.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "8.0",
"lessThan": "8.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.0",
"lessThan": "9.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "10.0",
"lessThan": "10.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "11.0",
"lessThan": "11.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "12.0",
"lessThan": "12.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "13.0",
"lessThan": "13.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "14.0",
"lessThan": "14.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "15.0",
"lessThan": "15.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "16.0",
"lessThan": "16.20.1",
"versionType": "semver"
},
{
"status": "affected",
"version": "17.0",
"lessThan": "17.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "18.0",
"lessThan": "18.16.1",
"versionType": "semver"
},
{
"status": "affected",
"version": "19.0",
"lessThan": "19.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "20.0",
"lessThan": "20.3.1",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2023-11-28T20:15:07.480",
"references": [
{
"url": "https://lists.debian.org/debian-lts-announce/2024/03/msg00029.html",
"source": "support@hackerone.com"
},
{
"url": "https://nodejs.org/en/blog/vulnerability/june-2023-security-releases",
"tags": [
"Vendor Advisory"
],
"source": "support@hackerone.com"
},
{
"url": "https://lists.debian.org/debian-lts-announce/2024/03/msg00029.html",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://lists.debian.org/debian-lts-announce/2024/09/msg00029.html",
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://nodejs.org/en/blog/vulnerability/june-2023-security-releases",
"tags": [
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://security.netapp.com/advisory/ntap-20241101-0011/",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "NVD-CWE-Other"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet, but the function is also needed to compute the corresponding public key after calling setPrivateKey(). However, the documentation says this API call: \"Generates private and public Diffie-Hellman key values\".\n\nThe documented behavior is very different from the actual behavior, and this difference could easily lead to security issues in applications that use these APIs as the DiffieHellman may be used as the basis for application-level security, implications are consequently broad."
},
{
"lang": "es",
"value": "La función API generateKeys() devuelta por crypto.createDiffieHellman() solo genera claves faltantes (o desactualizadas), es decir, solo genera una clave privada si aún no se ha configurado ninguna, pero la función también es necesaria para calcular la clave pública correspondiente. después de llamar a setPrivateKey(). Sin embargo, la documentación dice que esta llamada API: \"Genera valores de clave Diffie-Hellman públicos y privados\". El comportamiento documentado es muy diferente del comportamiento real, y esta diferencia podría conducir fácilmente a problemas de seguridad en las aplicaciones que utilizan estas API, ya que DiffieHellman puede usarse como base para la seguridad a nivel de aplicación; en consecuencia, las implicaciones son amplias."
}
],
"lastModified": "2026-06-17T05:55:05.810",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7E7F6F9A-AF9F-453B-870D-1E8759567F29",
"versionEndExcluding": "16.20.1",
"versionStartIncluding": "16.0.0"
},
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "3AA02CEF-5AC5-46F7-94DE-D9EA15678AE7",
"versionEndExcluding": "18.16.1",
"versionStartIncluding": "18.0.0"
},
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1CAA23E6-4930-4326-9CB0-AEE5013BFD37",
"versionEndExcluding": "20.3.1",
"versionStartIncluding": "20.0.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "support@hackerone.com"
}