Node.js TSC member Сковорода Никита Андреевич (Nikita Skovoroda / @ChALkeR) discovered an argument processing flaw that causes Buffer.alloc() to return uninitialized memory. This method is intended to be safe and only return initialized, or cleared, memory. The third argument specifying encoding can be passed as a number, this is misinterpreted by Buffer's internal "fill" method as the start to a fill operation. This flaw may be abused where Buffer.alloc() arguments are derived from user input to return uncleared memory blocks that may contain sensitive information.
All versions of Node.js 6.x (LTS "Boron") are NOT vulnerable
All versions of Node.js 8.x (LTS "Carbon") are NOT vulnerable
All previous versions of Node.js 10.x (Current) are vulnerable
This issue has been addressed in the following products:
Red Hat OpenShift Application Runtimes Node.js 10
Via RHSA-2018:2553 https://access.redhat.com/errata/RHSA-2018:2553
Release was updated to state: "Only Node.js 10 is impacted by this flaw. Our previous announcement wrongly stated that all release lines were vulnerable."
Created nodejs tracking bugs for this issue:
Affects: fedora-all [bug 1622137]
The current version rhoar-nodejs10-10.16.0-1.el7 was rebased to upstream and contains fixes.