CVE-2026-54270
Full vulnerability record from the local CVENow database.
Description
protobufjs compiles protobuf definitions into JavaScript (JS) functions. From 8.2.0 to 8.4.2, protobufjs preserved unknown wire elements in message.$unknowns and did not provide a decode-time option to discard unknown fields before retaining them. A crafted protobuf payload containing many unknown fields could therefore cause a decoded message to retain substantially more memory than the input size would suggest, even when unknown-field round-tripping is not needed. protobufjs 8.5.0 added the relevant decode-time options, allowing applications that decode untrusted protobuf data to disable unknown-field retention during decode. protobufjs 8.6.2 flips the default so unknown fields are discarded unless explicitly opted into.
View original CVE JSON
{
"id": "CVE-2026-54270",
"sourceIdentifier": "[email protected]",
"published": "2026-06-22T18:16:45.480",
"lastModified": "2026-10-25T23:10:00.167",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "protobufjs compiles protobuf definitions into JavaScript (JS) functions. From 8.2.0 to 8.4.2, protobufjs preserved unknown wire elements in message.$unknowns and did not provide a decode-time option to discard unknown fields before retaining them. A crafted protobuf payload containing many unknown fields could therefore cause a decoded message to retain substantially more memory than the input size would suggest, even when unknown-field round-tripping is not needed. protobufjs 8.5.0 added the relevant decode-time options, allowing applications that decode untrusted protobuf data to disable unknown-field retention during decode. protobufjs 8.6.2 flips the default so unknown fields are discarded unless explicitly opted into."
},
{
"lang": "es",
"value": "protobufjs compila definiciones de protobuf en funciones de JavaScript (JS). Desde la versión 8.2.0 hasta la 8.4.2, protobufjs conservaba elementos de cable desconocidos en message.$unknowns y no proporcionaba una opción en tiempo de decodificación para descartar campos desconocidos antes de retenerlos. Una carga útil de protobuf manipulada que contenía muchos campos desconocidos podría, por lo tanto, causar que un mensaje decodificado retuviera sustancialmente más memoria de lo que sugeriría el tamaño de entrada, incluso cuando no es necesario el viaje de ida y vuelta de campos desconocidos. protobufjs 8.5.0 añadió las opciones relevantes en tiempo de decodificación, permitiendo que las aplicaciones que decodifican datos protobuf no confiables deshabiliten la retención de campos desconocidos durante la decodificación. protobufjs 8.6.2 invierte el valor predeterminado de modo que los campos desconocidos se descartan a menos que se opte explícitamente por ellos."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "protobufjs",
"product": "protobuf.js",
"versions": [
{
"version": ">=8.2.0, < 8.5.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 3.9,
"impactScore": 1.4
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-06-23T14:47:41.353008Z",
"id": "CVE-2026-54270",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-770"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:protobufjs_project:protobufjs:*:*:*:*:*:node.js:*:*",
"versionStartIncluding": "8.2.0",
"versionEndExcluding": "8.5.0",
"matchCriteriaId": "A722DAF4-51C8-4165-8DFB-72D52BC31853"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-94rc-8x27-4472",
"source": "[email protected]",
"tags": [
"Mitigation",
"Vendor Advisory"
]
}
]
}