CVE-2020-8252: fs.realpath.native may cause buffer overflow

Published Sep 15, 2020
·
Updated

A flaw has been found in libuv. The realpath() implementation performs an incorrect calculation when allocating a buffer, leading to a potential buffer overflow. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.

Other sources

fs.realpath.native on may cause buffer overflow

— Node.Js

libuv's realpath implementation incorrectly determined the buffer size which can result in a buffer overflow if the resolved path is longer than 256 bytes.

All versions of the 10.x release line

All versions of the 12.x release line

All versions of the 14.x release line before 14.9.0

— Node.Js

libuv's realpath() implementation performs an incorrect calculation when allocating a buffer, leading to a potential buffer overflow.

Upstream advisory:

https://nodejs.org/en/blog/vulnerability/september-2020-security-releases/

— Red Hat

Node.js is vulnerable to a buffer overflow, caused by improper bounds checking by the libuv's fs.realpath.native. By sending an overly long argument, a remote attacker could overflow a buffer and execute arbitrary code on the system or cause a denial of service.

— IBM

The implementation of realpath in libuv < 10.22.1, < 12.18.4, and < 14.9.0 used within Node.js incorrectly determined the buffer size which can result in a buffer overflow if the resolved path is longer than 256 bytes.

Affected Software

14 affected componentsFixes available
redhat/rh-nodejs12-nodejs<0:12.18.4-3.el7
0:12.18.4-3.el7
redhat/rh-nodejs10-nodejs<0:10.23.1-2.el7
0:10.23.1-2.el7
redhat/nodejs<12.18.4
12.18.4
redhat/nodejs<10.22.1
10.22.1
redhat/libuv<1.39.0
1.39.0
Nodejs Node.js>=10.0.0<10.22.1
Nodejs Node.js>=12.0.0<12.18.4
Nodejs Node.js>=14.0.0<14.9.0
openSUSE Leap=15.2
Fedoraproject Fedora=33
debian/libuv1
1.40.0-2+deb11u11.44.2-1+deb12u11.50.0-21.51.0-2
Node.js Node.js>=10.0.0<10.22.1, >=12.0.0<12.18.4, >=14.0.0<14.9.0
10.22.112.18.414.9.0
Node.js Node.js>=10.0.0<10.22.1
10.22.1
Node.js Node.js>=12.0.0<12.18.4
12.18.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/rh-nodejs12-nodejs to a version that resolves this vulnerability.

    Fixed in 0:12.18.4-3.el7
  2. Upgrade

    Upgrade redhat/rh-nodejs10-nodejs to a version that resolves this vulnerability.

    Fixed in 0:10.23.1-2.el7
  3. Upgrade

    Upgrade redhat/nodejs to a version that resolves this vulnerability.

    Fixed in 12.18.4
  4. Upgrade

    Upgrade redhat/nodejs to a version that resolves this vulnerability.

    Fixed in 10.22.1
  5. Upgrade

    Upgrade redhat/libuv to a version that resolves this vulnerability.

    Fixed in 1.39.0
  6. Upgrade

    Upgrade debian/libuv1 to a version that resolves this vulnerability.

    Fixed in 1.40.0-2+deb11u1Fixed in 1.44.2-1+deb12u1Fixed in 1.50.0-2Fixed in 1.51.0-2
  7. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 10.22.1Fixed in 12.18.4Fixed in 14.9.0
  8. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 10.22.1
  9. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 12.18.4
  10. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 14.9.0

Event History

Sep 15, 2020
CVE Published
12:00 AM
Data Sourced
via Node.js·09:05 PM
SeverityAffected Software
Data Sourced
via Node.js·09:50 PM
Description
Sep 18, 2020
CVE Published
via MITRE·08:11 PM
Data Sourced
via MITRE·08:11 PM
DescriptionWeakness
Data Sourced
via NVD·09:15 PM
DescriptionSeverityWeaknessAffected Software
Feb 22, 2021
Data Sourced
via IBM·12:00 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What is CVE-2020-8252?

CVE-2020-8252 is a vulnerability in the realpath() implementation in libuv, which can lead to a potential buffer overflow.

2

What is the impact of CVE-2020-8252?

The highest threat from CVE-2020-8252 is to data confidentiality and integrity, as well as system availability.

3

Which software is affected by CVE-2020-8252?

Node.js versions < 10.22.1, < 12.18.4, and < 14.9.0, as well as libuv versions < 1.39.0, are affected by CVE-2020-8252.

4

How can I fix CVE-2020-8252?

To fix CVE-2020-8252, update Node.js to version 10.22.1, 12.18.4, or 14.9.0, and update libuv to version 1.39.0.

5

Where can I find more information about CVE-2020-8252?

You can find more information about CVE-2020-8252 on the Node.js and libuv websites.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203