Description
Due to the formatting logic of the "console.table()" function it was not safe to allow user controlled input to be passed to the "properties" parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be "__proto__". The prototype pollution has very limited control, in that it only allows an empty string to be assigned to numerical keys of the object prototype.Node.js >= 12.22.9, >= 14.18.3, >= 16.13.2, and >= 17.3.1 use a null protoype for the object these properties are being assigned to.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
NodeJS Node
Default version status: unaffected
4.0 to < 4.*affected5.0 to < 5.*affected6.0 to < 6.*affected7.0 to < 7.*affected8.0 to < 8.*affected9.0 to < 9.*affected10.0 to < 10.*affected11.0 to < 11.*affected12.0 to < 12.22.9affected13.0 to < 13.*affected14.0 to < 14.18.3affected15.0 to < 15.*affected16.0 to < 16.13.2affected17.0 to < 17.3.1affected
References
- https://nodejs.org/en/blog/vulnerability/jan-2022-security-releases/ ↗
- https://hackerone.com/reports/1431042 ↗
- https://www.oracle.com/security-alerts/cpuapr2022.html ↗
- https://security.netapp.com/advisory/ntap-20220325-0007/ ↗
- https://www.debian.org/security/2022/dsa-5170 ↗
- https://www.oracle.com/security-alerts/cpujul2022.html ↗
- https://security.netapp.com/advisory/ntap-20220729-0004/ ↗
- https://lists.debian.org/debian-lts-announce/2022/10/msg00006.html ↗