React-proxy is a valuable tool for developers building React applications, enabling the swapping of React component implementations without losing the component's existing state or triggering an unmount. This is particularly useful during development, especially when hot-reloading or experimenting with different component variations. The upgrade from version 1.1.0 to 1.1.1 introduces subtle refinements to an already robust proxying mechanism.
Both versions share the same core dependencies, relying on lodash for utility functions and react-deep-force-update to ensure thorough updates within the proxied components. The development dependencies also remain identical, indicating that the build and testing processes haven't undergone significant alterations. These include tools like babel for transpilation, expect and mocha for testing, and webpack for bundling.
The primary observable difference lies in the repository URL within the package metadata. Version 1.1.1 uses git+https which is a recommendation for security reasons in git. This ensures that the version uses HTTPS for cloning the repository. While functionally similar, the move to git+https signifies an improvement to security practices. The release dates are also different, version 1.1.1 released nine days after 1.1.0.
For developers this means, the upgrade is small and might have included minor bug fixes. This upgrade should improve security with the new approach to get the repository using git+https.
All the vulnerabilities related to the version 1.1.1 of the package
Command Injection in lodash
lodash
versions prior to 4.17.21 are vulnerable to Command Injection via the template function.
Prototype Pollution in lodash
Versions of lodash
before 4.17.11 are vulnerable to prototype pollution.
The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object
via {constructor: {prototype: {...}}}
causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.11 or later.
Prototype Pollution in lodash
Versions of lodash
before 4.17.5 are vulnerable to prototype pollution.
The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object
via __proto__
causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.5 or later.
Prototype Pollution in lodash
Versions of lodash
before 4.17.12 are vulnerable to Prototype Pollution. The function defaultsDeep
allows a malicious user to modify the prototype of Object
via {constructor: {prototype: {...}}}
causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.12 or later.
Prototype Pollution in lodash
Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The functions pick
, set
, setWith
, update
, updateWith
, and zipObjectDeep
allow a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires manipulating objects based on user-provided property values or arrays.
This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.