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.
The product does not properly protect an assumed-immutable element from being modified by an attacker.
The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.
Link | Tags |
---|---|
https://nodejs.org/en/blog/vulnerability/jan-2022-security-releases/ | release notes vendor advisory |
https://hackerone.com/reports/1431042 | issue tracking third party advisory mitigation |
https://www.oracle.com/security-alerts/cpuapr2022.html | third party advisory patch |
https://security.netapp.com/advisory/ntap-20220325-0007/ | third party advisory |
https://www.debian.org/security/2022/dsa-5170 | third party advisory vendor advisory |
https://www.oracle.com/security-alerts/cpujul2022.html | third party advisory |
https://security.netapp.com/advisory/ntap-20220729-0004/ | third party advisory |
https://lists.debian.org/debian-lts-announce/2022/10/msg00006.html | third party advisory mailing list |