IM
IronMonkey Threat Research

CVE-2020-8265 HIGH

Published: 2021-01-06 | Last Modified: 2024-11-21 | Status: Modified

Description

Node.js versions before 10.23.1, 12.20.1, 14.15.4, 15.5.1 are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits.

Additional Descriptions (1)

Node.js versiones anteriores a 10.23.1, 12.20.1, 14.15.4, 15.5.1, son vulnerables a un bug de uso de la memoria previamente liberada en su implementación TLS. Al escribir en un socket habilitado para TLS, node::StreamBase::Write llama node::TLSWrap::DoWrite con un objeto WriteWrap recién asignado como primer argumento. Si el método DoWrite no devuelve un error, este objeto es devuelto a la persona que llama como parte de una estructura de StreamWriteResult. Esto puede ser explotado para corromper la memoria conllevando a una Denegación de Servicio o potencialmente otras explotaciones

CVSS Metrics

Base Score: 8.1 (HIGH)

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Attack VectorNETWORK
Attack ComplexityHIGH
Privileges RequiredNONE
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactHIGH
Integrity ImpactHIGH
Availability ImpactHIGH

Source: [email protected]

Type: Primary

Exploitability Score: 2.2

Impact Score: 5.9

Base Score: 6.8 (MEDIUM)

AV:N/AC:M/Au:N/C:P/I:P/A:P

Access VectorNETWORK
Access ComplexityMEDIUM
AuthenticationNONE
Confidentiality ImpactPARTIAL
Integrity ImpactPARTIAL
Availability ImpactPARTIAL

Source: [email protected]

Type: Primary

Exploitability Score: 8.6

Impact Score: 6.4

Weaknesses

Source Type Description
[email protected] Secondary
en CWE-416
[email protected] Primary
en CWE-416

Affected Products

Vendor Product Version Update Type
nodejs node.js * <built-in method update of dict object at 0x72a9b0b5dec0> Application
nodejs node.js * <built-in method update of dict object at 0x72a9cc123580> Application
nodejs node.js * <built-in method update of dict object at 0x72a9cc1228c0> Application
nodejs node.js * <built-in method update of dict object at 0x72a9cc122a00> Application
debian debian_linux 10.0 <built-in method update of dict object at 0x72a9b0b5f640> Operating System
fedoraproject fedora 32 <built-in method update of dict object at 0x72a9b0b5ec40> Operating System
fedoraproject fedora 33 <built-in method update of dict object at 0x72a9cc120cc0> Operating System
oracle graalvm 19.3.4 <built-in method update of dict object at 0x72a9cc1209c0> Application
oracle graalvm 20.3.0 <built-in method update of dict object at 0x72a9cc122980> Application
siemens sinec_infrastructure_network_services * <built-in method update of dict object at 0x72a9b0b5dc80> Application

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:*
Yes cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:*
Yes cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:*
Yes cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*
Yes cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:oracle:graalvm:19.3.4:*:*:*:enterprise:*:*:*
Yes cpe:2.3:a:oracle:graalvm:20.3.0:*:*:*:enterprise:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:siemens:sinec_infrastructure_network_services:*:*:*:*:*:*:*:*

References

Notification
Message here