CVE-2026-86038
libp2p is a JavaScript implementation of the libp2p networking stack. From 15.0.0 until 16.0.5, @libp2p/gossipsub uses the default StrictSign policy in packages/gossipsub/src/utils/buildRawMessage.ts, where validateToRawMessage verifies a signature with attacker-controlled msg.key but skips binding that key to msg.from when the claimed author is an RSA peer ID that does not inline a public key.
Leer descripción completaMostrar menos
An unauthenticated attacker can place a victim RSA peer ID in msg.from, sign the message with the attacker's private key, and supply the attacker's public key in msg.key, causing the message to be accepted and propagated as authored by the victim. Applications that trust message.from for validators, authorization, accounting, moderation, reputation, or audit logging can process attacker-controlled data under false origin attribution. The issue is fixed in version 16.0.5.
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: 0.19%
- Percentil entre todas las CVEs puntuadas: 8
- Fecha de la puntuación: 6/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).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1190Exploit Public-Facing Applicationinitial access85 % - Impacto principal
T1078Valid Accountsstealth · persistence · privilege escalation · initial access90 % - Impacto secundario
T1553.006Code Signing Policy Modificationdefense impairment70 % - Impacto secundario
T1565.003Runtime Data Manipulationimpact75 %
Vulnerabilidad en validación de firma en libp2p gossipsub (CWE-345, CWE-347) que permite falsificar identidad de peer remoto sin autenticación (AV:N, PR:N). Explotación: T1190. Impactos: T1078 (uso de identidad falsa), T1565.003 (corrupción de integridad de mensaje), T1553.006 (debilitamiento de ver
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-345, CWE-347
Referencias
- https://github.com/libp2p/js-libp2p/commit/cec2b1f349d130065e561349a0336a239528267f
- https://github.com/libp2p/js-libp2p/pull/3569
- https://github.com/libp2p/js-libp2p/releases/tag/gossipsub-v16.0.5
- https://github.com/libp2p/js-libp2p/security/advisories/GHSA-c3gv-825q-fvmp
- https://github.com/libp2p/js-libp2p/security/advisories/GHSA-c3gv-825q-fvmp
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-86038",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-86038",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-09-17T17:24:10.344562Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"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": "security-advisories@github.com",
"affectedData": [
{
"vendor": "libp2p",
"product": "js-libp2p",
"versions": [
{
"status": "affected",
"version": ">= 15.0.0, < 16.0.5"
}
]
}
]
}
],
"published": "2026-09-17T16:18:16.927",
"references": [
{
"url": "https://github.com/libp2p/js-libp2p/commit/cec2b1f349d130065e561349a0336a239528267f",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/libp2p/js-libp2p/pull/3569",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/libp2p/js-libp2p/releases/tag/gossipsub-v16.0.5",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/libp2p/js-libp2p/security/advisories/GHSA-c3gv-825q-fvmp",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/libp2p/js-libp2p/security/advisories/GHSA-c3gv-825q-fvmp",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
],
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-345"
},
{
"lang": "en",
"value": "CWE-347"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "libp2p is a JavaScript implementation of the libp2p networking stack. From 15.0.0 until 16.0.5, @libp2p/gossipsub uses the default StrictSign policy in packages/gossipsub/src/utils/buildRawMessage.ts, where validateToRawMessage verifies a signature with attacker-controlled msg.key but skips binding that key to msg.from when the claimed author is an RSA peer ID that does not inline a public key. An unauthenticated attacker can place a victim RSA peer ID in msg.from, sign the message with the attacker's private key, and supply the attacker's public key in msg.key, causing the message to be accepted and propagated as authored by the victim. Applications that trust message.from for validators, authorization, accounting, moderation, reputation, or audit logging can process attacker-controlled data under false origin attribution. The issue is fixed in version 16.0.5."
}
],
"lastModified": "2026-09-30T17:51:36.337",
"sourceIdentifier": "security-advisories@github.com"
}