Prototype Pollution
Description
The copy-props npm package before 2.0.5 is vulnerable to Prototype Pollution, allowing an attacker to inject properties into Object.prototype leading to potential remote code execution or denial of service.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
The copy-props npm package before 2.0.5 is vulnerable to Prototype Pollution, allowing an attacker to inject properties into Object.prototype leading to potential remote code execution or denial of service.
Vulnerability
Details
The copy-props library before version 2.0.5 is susceptible to Prototype Pollution [1]. The core function recursively merges properties from a source object into a target object without sanitizing property keys such as __proto__, constructor.prototype, or prototype. This allows an attacker to inject arbitrary properties into the global Object.prototype, affecting all JavaScript objects in the application [2][3].
Exploitation
An attacker can exploit this vulnerability by crafting a JSON payload containing a __proto__ or constructor.prototype key with malicious nested properties. For example, a source object like {"__proto__":{"polluted":"true"}} when processed by copyProps will pollute the Object prototype, causing all objects to inherit the polluted property [2]. The attack requires no authentication if the attacker controls the source object, which is common in scenarios where user-supplied data is merged into configuration objects.
Impact
Prototype Pollution can lead to severe consequences including denial of service (via exceptions) and remote code execution if the polluted properties alter the application's code paths [3]. For instance, modifying properties that control access permissions or business logic can enable privilege escalation or data theft.
Mitigation
The vulnerability is fixed in version 2.0.5, which introduces explicit checks to ignore dangerous keys such as __proto__ and constructor.prototype during object merging [2]. Users are advised to upgrade to the latest version to prevent exploitation.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
copy-propsnpm | < 2.0.5 | 2.0.5 |
Affected products
2- copy-props/copy-propsdescription
Patches
12c738f5c52cfFix: Avoids prototype pollution (#7)
8 files changed · +225 −27
.eslintrc+2 −25 modified@@ -1,29 +1,6 @@ { - "env": { - "node": true - }, + "extends": "gulp", "rules": { - "array-bracket-spacing": [2, "never"], - "block-scoped-var": 2, - "brace-style": [2, "1tbs"], - "camelcase": 1, - "computed-property-spacing": [2, "never"], - "curly": 2, - "eol-last": 2, - "eqeqeq": [2, "smart"], - "max-depth": [1, 3], - "max-len": [1, 80], - "max-statements": [1, 40], - "new-cap": 1, - "no-extend-native": 2, - "no-mixed-spaces-and-tabs": 2, - "no-trailing-spaces": 2, - "no-unused-vars": 1, - "no-use-before-define": [2, "nofunc"], - "object-curly-spacing": [2, "always"], - "quotes": [2, "single", "avoid-escape"], - "semi": [2, "always"], - "keyword-spacing": [2, { "before": true, "after": true }], - "space-unary-ops": 2 + "max-statements": 0 } }
index.js+8 −0 modified@@ -184,6 +184,10 @@ function setDeep(obj, keyChain, valueCreator) { function _setDeep(obj, keyElems, depth, valueCreator) { var key = keyElems.shift(); + if (isPossibilityOfPrototypePollution(key)) { + return; + } + if (!keyElems.length) { var value = valueCreator(obj, key, depth); if (value === undefined) { @@ -224,3 +228,7 @@ function newUndefined() { function isObject(v) { return Object.prototype.toString.call(v) === '[object Object]'; } + +function isPossibilityOfPrototypePollution(key) { + return (key === '__proto__' || key === 'constructor'); +}
package.json+1 −0 modified@@ -43,6 +43,7 @@ "chai": "^3.5.0", "coveralls": "^3.1.0", "eslint": "^7.9.0", + "eslint-config-gulp": "^5.0.1", "mocha": "^3.5.3", "nyc": "^15.1.0", "uglify-js": "^3.10.4"
test/copy-props-proc.js+102 −0 modified@@ -701,4 +701,106 @@ describe('Processing', function() { }); + describe('Avoid a prototype pollution vulnerability', function() { + + describe('The critical property key is in a src object', function() { + + it('should ignore a property key: __proto__', function(done) { + var maliciousSrcJson = '{"__proto__":{"polluted":"polluted"},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse(maliciousSrcJson), {})).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property key: constructor.prototype', function(done) { + var maliciousSrcJson = '{"constructor":{"prototype":{"polluted":"polluted"}},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse(maliciousSrcJson), {})).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical property key is in a dest object and using reverse', function() { + + it('should ignore a property key: __proto__', function(done) { + var maliciousSrcJson = '{"__proto__":{"polluted":"polluted"},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, JSON.parse(maliciousSrcJson), true)).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property key: constructor.prototype', function(done) { + var maliciousSrcJson = '{"constructor":{"prototype":{"polluted":"polluted"}},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, JSON.parse(maliciousSrcJson), true)).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical property value is in a fromto object', function() { + + it('should ignore a property value: __proto__', function(done) { + var fromto = { a: '__proto__.poluuted', b: 'c' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({ a: 'polluted', b: 1 }, {}, fromto)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property value: constructor.prototype', function(done) { + var fromto = { a: 'constructor.prototype.polluted', b: 'c' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({ a: 'polluted', b: 1 }, {}, fromto)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical property key is in a fromto object and using reverse', function() { + + it('should ignore a property key: __proto__', function(done) { + var fromto = { '__proto__.poluuted': 'a', c: 'b' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, { a: 'polluted', b: 1 }, fromto, true)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property key: constructor.prototype and using reverse', function(done) { + var fromto = { 'constructor.prototype.polluted': 'a', c: 'b' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, { a: 'polluted', b: 1 }, fromto, true)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical element is in a fromto array', function() { + + it('should ignore an element: __proto__', function(done) { + var fromto = ['__proto__.polluted', 'b']; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse('{"__proto__":{"polluted":"polluted"},"b":1}'), {}, fromto)).to.deep.equal({ b: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore an element: constructor.prototype', function(done) { + var fromto = ['constructor.prototype.polluted', 'b']; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse('{"constructor":{"prototype":{"polluted":"polluted"}},"b":1}'), {}, fromto)).to.deep.equal({ b: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + }); });
test/web/copy-props-proc.js+102 −0 modified@@ -701,4 +701,106 @@ describe('Processing', function() { }); + describe('Avoid a prototype pollution vulnerability', function() { + + describe('The critical property key is in a src object', function() { + + it('should ignore a property key: __proto__', function(done) { + var maliciousSrcJson = '{"__proto__":{"polluted":"polluted"},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse(maliciousSrcJson), {})).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property key: constructor.prototype', function(done) { + var maliciousSrcJson = '{"constructor":{"prototype":{"polluted":"polluted"}},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse(maliciousSrcJson), {})).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical property key is in a dest object and using reverse', function() { + + it('should ignore a property key: __proto__', function(done) { + var maliciousSrcJson = '{"__proto__":{"polluted":"polluted"},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, JSON.parse(maliciousSrcJson), true)).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property key: constructor.prototype', function(done) { + var maliciousSrcJson = '{"constructor":{"prototype":{"polluted":"polluted"}},"a":1}'; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, JSON.parse(maliciousSrcJson), true)).to.deep.equal({ a: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical property value is in a fromto object', function() { + + it('should ignore a property value: __proto__', function(done) { + var fromto = { a: '__proto__.poluuted', b: 'c' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({ a: 'polluted', b: 1 }, {}, fromto)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property value: constructor.prototype', function(done) { + var fromto = { a: 'constructor.prototype.polluted', b: 'c' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({ a: 'polluted', b: 1 }, {}, fromto)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical property key is in a fromto object and using reverse', function() { + + it('should ignore a property key: __proto__', function(done) { + var fromto = { '__proto__.poluuted': 'a', c: 'b' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, { a: 'polluted', b: 1 }, fromto, true)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore a property key: constructor.prototype and using reverse', function(done) { + var fromto = { 'constructor.prototype.polluted': 'a', c: 'b' }; + expect({}.polluted).to.be.undefined; + expect(copyProps({}, { a: 'polluted', b: 1 }, fromto, true)).to.deep.equal({ c: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + + describe('The critical element is in a fromto array', function() { + + it('should ignore an element: __proto__', function(done) { + var fromto = ['__proto__.polluted', 'b']; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse('{"__proto__":{"polluted":"polluted"},"b":1}'), {}, fromto)).to.deep.equal({ b: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + it('should ignore an element: constructor.prototype', function(done) { + var fromto = ['constructor.prototype.polluted', 'b']; + expect({}.polluted).to.be.undefined; + expect(copyProps(JSON.parse('{"constructor":{"prototype":{"polluted":"polluted"}},"b":1}'), {}, fromto)).to.deep.equal({ b: 1 }); + expect({}.polluted).to.be.undefined; + done(); + }); + + }); + }); });
web/copy-props.js+8 −0 modified@@ -185,6 +185,10 @@ function setDeep(obj, keyChain, valueCreator) { function _setDeep(obj, keyElems, depth, valueCreator) { var key = keyElems.shift(); + if (isPossibilityOfPrototypePollution(key)) { + return; + } + if (!keyElems.length) { var value = valueCreator(obj, key, depth); if (value === undefined) { @@ -226,6 +230,10 @@ function isObject(v) { return Object.prototype.toString.call(v) === '[object Object]'; } +function isPossibilityOfPrototypePollution(key) { + return (key === '__proto__' || key === 'constructor'); +} + },{"each-props":4,"is-plain-object":8}],2:[function(require,module,exports){ /*! * array-each <https://github.com/jonschlinkert/array-each>
web/copy-props.min.js+1 −1 modified@@ -1,2 +1,2 @@ -!function(t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).copyProps=t()}(function(){return function i(u,a,c){function f(r,t){if(!a[r]){if(!u[r]){var n="function"==typeof require&&require;if(!t&&n)return n(r,!0);if(s)return s(r,!0);var e=new Error("Cannot find module '"+r+"'");throw e.code="MODULE_NOT_FOUND",e}var o=a[r]={exports:{}};u[r][0].call(o.exports,function(t){return f(u[r][1][t]||t)},o,o.exports,i,u,a,c)}return a[r].exports}for(var s="function"==typeof require&&require,t=0;t<c.length;t++)f(c[t]);return f}({1:[function(t,r,n){"use strict";var a=t("each-props"),c=t("is-plain-object").isPlainObject;function f(t,r,o){if(!c(t)){var i=o.fromto[r];if(i){delete o.fromto[r],Array.isArray(i)||(i=[i]);for(var u={keyChain:r,value:t,key:o.name,depth:o.depth,parent:o.parent},a=0,n=i.length;a<n;a++)l(o.dest,i[a],function(t,r,n){var e={keyChain:i[a],value:t[r],key:r,depth:n,parent:t};return o.convert(u,e)})}}}function s(t,o,i){if(c(t)){for(var r in t)return;l(i.dest,o,e)}else{var u={keyChain:o,value:t,key:i.name,depth:i.depth,parent:i.parent};l(i.dest,o,function(t,r,n){var e={keyChain:o,value:t[r],key:r,depth:n,parent:t};return i.convert(u,e)})}}function e(){return{}}function p(t){return t.value}function l(t,r,n){!function t(r,n,e,o){var i=n.shift();if(!n.length){var u=o(r,i,e);if(void 0===u)return;if(c(u)&&c(r[i]))return;return void(r[i]=u)}c(r[i])||(r[i]={});t(r[i],n,e+1,o)}(t,r.split("."),1,n)}function y(){}function v(t){return"[object Object]"===Object.prototype.toString.call(t)}r.exports=function(t,r,n,e,o){var i;v(t)||(t={}),v(r)||(r={}),n=c(n)?function(t){var r,n={};for(r in t){var e=t[r];"string"==typeof e&&(n[r]=e)}return n}(n):Array.isArray(n)?function(t){for(var r={},n=0,e=t.length;n<e;n++){var o=t[n];"string"==typeof o&&(r[o]=o)}return r}(n):("boolean"==typeof n?(o=n,e=p):"function"==typeof n&&(o=e,e=n),null),"function"!=typeof e&&(e=("boolean"==typeof e&&(o=e),p)),"boolean"!=typeof o&&(o=!1),o&&(i=t,t=r,r=i,n=n&&function(t){var r,n={};for(r in t){var e=t[r];n[e]||(n[e]=[]),n[e].push(r)}return n}(n));var u={dest:r,fromto:n,convert:e};return n?(a(t,f,u),function(t,r){for(var n in r){var e=r[n];Array.isArray(e)||(e=[e]);for(var o=0,i=e.length;o<i;o++)l(t,e[o],y)}}(r,n)):a(t,s,u),r}},{"each-props":4,"is-plain-object":8}],2:[function(t,r,n){"use strict";r.exports=function(t,r,n){if(null!=t)for(var e=t.length,o=-1;++o<e;){var i=t[o];if(!1===r.call(n,i,o,t))break}}},{}],3:[function(t,r,n){"use strict";function i(t,r,n){return r=null==r?n||0:r<0?Math.max(t+r,0):Math.min(r,t)}r.exports=function(t,r,n){var e=t.length,o=[];for(r=i(e,r),n=i(e,n,e);r<n;)o.push(t[r++]);return o}},{}],4:[function(t,r,n){"use strict";var b=t("is-plain-object"),d=t("object.defaults/immutable");r.exports=function(t,r,n){var e;e=t,"[object Object]"!==Object.prototype.toString.call(e)||"function"==typeof r&&(b(n)||(n={}),function t(r,n,e,o,i){var u=Object.keys(r);{var a;"function"==typeof i.sort&&(a=i.sort(u),Array.isArray(a)&&(u=a))}o+=1;for(var c=0,f=u.length;c<f;c++){var s=u[c],p=n+"."+s,l=r[s],y=d(i);y.name=s,y.index=c,y.count=f,y.depth=o,y.parent=r;var v=e(l,p.slice(1),y);!v&&b(l)&&t(l,p,e,o,i)}}(t,"",r,0,n))}},{"is-plain-object":5,"object.defaults/immutable":10}],5:[function(t,r,n){"use strict";var e=t("isobject");function o(t){return!0===e(t)&&"[object Object]"===Object.prototype.toString.call(t)}r.exports=function(t){var r,n;return!1!==o(t)&&("function"==typeof(r=t.constructor)&&(!1!==o(n=r.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf")))}},{isobject:9}],6:[function(t,r,n){"use strict";r.exports=function(t,r,n){for(var e in t)if(!1===r.call(n,t[e],e,t))break}},{}],7:[function(t,r,n){"use strict";var i=t("for-in"),u=Object.prototype.hasOwnProperty;r.exports=function(n,e,o){i(n,function(t,r){if(u.call(n,r))return e.call(o,n[r],r,n)})}},{"for-in":6}],8:[function(t,r,n){"use strict";function e(t){return"[object Object]"===Object.prototype.toString.call(t)}Object.defineProperty(n,"__esModule",{value:!0}),n.isPlainObject=function(t){var r,n;return!1!==e(t)&&(void 0===(r=t.constructor)||!1!==e(n=r.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}},{}],9:[function(t,r,n){"use strict";r.exports=function(t){return null!=t&&"object"==typeof t&&!1===Array.isArray(t)}},{}],10:[function(t,r,n){"use strict";var e=t("array-slice"),o=t("./mutable");r.exports=function(){var t=e(arguments);return o.apply(null,[{}].concat(t))}},{"./mutable":11,"array-slice":3}],11:[function(t,r,n){"use strict";var e=t("array-each"),o=t("array-slice"),i=t("for-own"),u=t("isobject");r.exports=function(n,t){return null==n?{}:(e(o(arguments,1),function(t){u(t)&&i(t,function(t,r){null==n[r]&&(n[r]=t)})}),n)}},{"array-each":2,"array-slice":3,"for-own":7,isobject:9}]},{},[1])(1)}); +!function(t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).copyProps=t()}(function(){return function e(o,i,u){function c(r,t){if(!i[r]){if(!o[r]){var n="function"==typeof require&&require;if(!t&&n)return n(r,!0);if(f)return f(r,!0);throw(n=new Error("Cannot find module '"+r+"'")).code="MODULE_NOT_FOUND",n}n=i[r]={exports:{}},o[r][0].call(n.exports,function(t){return c(o[r][1][t]||t)},n,n.exports,e,o,i,u)}return i[r].exports}for(var f="function"==typeof require&&require,t=0;t<u.length;t++)c(u[t]);return c}({1:[function(t,r,n){"use strict";var i=t("each-props"),c=t("is-plain-object").isPlainObject;function u(t,r,e){if(!c(t)){var o=e.fromto[r];if(o){delete e.fromto[r],Array.isArray(o)||(o=[o]);for(var i={keyChain:r,value:t,key:e.name,depth:e.depth,parent:e.parent},u=0,n=o.length;u<n;u++)p(e.dest,o[u],function(t,r,n){t={keyChain:o[u],value:t[r],key:r,depth:n,parent:t};return e.convert(i,t)})}}}function f(t,e,o){if(c(t)){for(var r in t)return;p(o.dest,e,a)}else{var i={keyChain:e,value:t,key:o.name,depth:o.depth,parent:o.parent};p(o.dest,e,function(t,r,n){t={keyChain:e,value:t[r],key:r,depth:n,parent:t};return o.convert(i,t)})}}function a(){return{}}function s(t){return t.value}function p(t,r,n){!function t(r,n,e,o){var i=n.shift();if(v(i))return;if(!n.length){var u=o(r,i,e);return void 0===u?void 0:c(u)&&c(r[i])?void 0:void(r[i]=u)}c(r[i])||(r[i]={});t(r[i],n,e+1,o)}(t,r.split("."),1,n)}function l(){}function y(t){return"[object Object]"===Object.prototype.toString.call(t)}function v(t){return"__proto__"===t||"constructor"===t}r.exports=function(t,r,n,e,o){y(t)||(t={}),y(r)||(r={}),n=c(n)?function(t){var r,n={};for(r in t){var e=t[r];"string"==typeof e&&(n[r]=e)}return n}(n):Array.isArray(n)?function(t){for(var r={},n=0,e=t.length;n<e;n++){var o=t[n];"string"==typeof o&&(r[o]=o)}return r}(n):("boolean"==typeof n?(o=n,e=s):"function"==typeof n&&(o=e,e=n),null),"function"!=typeof e&&(e=("boolean"==typeof e&&(o=e),s)),(o="boolean"!=typeof o?!1:o)&&(o=t,t=r,r=o,n=n&&function(t){var r,n={};for(r in t){var e=t[r];n[e]||(n[e]=[]),n[e].push(r)}return n}(n));e={dest:r,fromto:n,convert:e};return n?(i(t,u,e),function(t,r){for(var n in r){var e=r[n];Array.isArray(e)||(e=[e]);for(var o=0,i=e.length;o<i;o++)p(t,e[o],l)}}(r,n)):i(t,f,e),r}},{"each-props":4,"is-plain-object":8}],2:[function(t,r,n){"use strict";r.exports=function(t,r,n){if(null!=t)for(var e=t.length,o=-1;++o<e;){var i=t[o];if(!1===r.call(n,i,o,t))break}}},{}],3:[function(t,r,n){"use strict";function i(t,r,n){return r=null==r?n||0:r<0?Math.max(t+r,0):Math.min(r,t)}r.exports=function(t,r,n){var e=t.length,o=[];for(r=i(e,r),n=i(e,n,e);r<n;)o.push(t[r++]);return o}},{}],4:[function(t,r,n){"use strict";var v=t("is-plain-object"),d=t("object.defaults/immutable");r.exports=function(t,r,n){var e;e=t,"[object Object]"!==Object.prototype.toString.call(e)||"function"==typeof r&&function t(r,n,e,o,i){var u=Object.keys(r);{var c;"function"==typeof i.sort&&(c=i.sort(u),Array.isArray(c)&&(u=c))}o+=1;for(var f=0,a=u.length;f<a;f++){var s=u[f],p=n+"."+s,l=r[s],y=d(i);y.name=s,y.index=f,y.count=a,y.depth=o,y.parent=r;var y=e(l,p.slice(1),y);!y&&v(l)&&t(l,p,e,o,i)}}(t,"",r,0,n=!v(n)?{}:n)}},{"is-plain-object":5,"object.defaults/immutable":10}],5:[function(t,r,n){"use strict";var e=t("isobject");function o(t){return!0===e(t)&&"[object Object]"===Object.prototype.toString.call(t)}r.exports=function(t){return!1!==o(t)&&("function"==typeof(t=t.constructor)&&(!1!==o(t=t.prototype)&&!1!==t.hasOwnProperty("isPrototypeOf")))}},{isobject:9}],6:[function(t,r,n){"use strict";r.exports=function(t,r,n){for(var e in t)if(!1===r.call(n,t[e],e,t))break}},{}],7:[function(t,r,n){"use strict";var i=t("for-in"),u=Object.prototype.hasOwnProperty;r.exports=function(n,e,o){i(n,function(t,r){if(u.call(n,r))return e.call(o,n[r],r,n)})}},{"for-in":6}],8:[function(t,r,n){"use strict";function e(t){return"[object Object]"===Object.prototype.toString.call(t)}Object.defineProperty(n,"__esModule",{value:!0}),n.isPlainObject=function(t){return!1!==e(t)&&(void 0===(t=t.constructor)||!1!==e(t=t.prototype)&&!1!==t.hasOwnProperty("isPrototypeOf"))}},{}],9:[function(t,r,n){"use strict";r.exports=function(t){return null!=t&&"object"==typeof t&&!1===Array.isArray(t)}},{}],10:[function(t,r,n){"use strict";var e=t("array-slice"),o=t("./mutable");r.exports=function(){var t=e(arguments);return o.apply(null,[{}].concat(t))}},{"./mutable":11,"array-slice":3}],11:[function(t,r,n){"use strict";var e=t("array-each"),o=t("array-slice"),i=t("for-own"),u=t("isobject");r.exports=function(n,t){return null==n?{}:(e(o(arguments,1),function(t){u(t)&&i(t,function(t,r){null==n[r]&&(n[r]=t)})}),n)}},{"array-each":2,"array-slice":3,"for-own":7,isobject:9}]},{},[1])(1)}); //# sourceMappingURL=copy-props.min.js.map \ No newline at end of file
web/copy-props.min.js.map+1 −1 modified@@ -1 +1 @@ -{"version":3,"sources":["copy-props.js"],"names":["f","exports","module","define","amd","window","global","self","this","copyProps","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","eachProps","isPlainObject","copyWithFromto","value","keyChain","nodeInfo","dstKeyChains","fromto","Array","isArray","srcInfo","key","name","depth","parent","setDeep","dest","dstInfo","convert","copyWithoutFromto","k","newObject","noop","obj","valueCreator","_setDeep","keyElems","shift","undefined","split","newUndefined","isObject","v","Object","prototype","toString","src","dst","converter","reverse","tmp","newObj","val","onlyValueIsString","arr","elm","arrayToObject","inv","push","invert","opts","srcKeyChain","setParentEmptyObject","each-props","is-plain-object","2","cb","thisArg","len","idx","ele","3","pos","end","Math","max","min","start","range","4","defaults","fn","forEachChild","node","baseKey","keys","sortedKeys","sort","index","count","notDigg","slice","object.defaults/immutable","5","isObjectObject","ctor","prot","constructor","hasOwnProperty","isobject","6","7","forIn","hasOwn","for-in","8","defineProperty","9","10","args","arguments","apply","concat","./mutable","array-slice","11","each","forOwn","target","objects","array-each","for-own"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["copy-props.js"],"names":["f","exports","module","define","amd","window","global","self","this","copyProps","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","eachProps","isPlainObject","copyWithFromto","value","keyChain","nodeInfo","dstKeyChains","fromto","Array","isArray","srcInfo","key","name","depth","parent","setDeep","dest","dstInfo","convert","copyWithoutFromto","k","newObject","noop","obj","valueCreator","_setDeep","keyElems","shift","isPossibilityOfPrototypePollution","undefined","split","newUndefined","isObject","v","Object","prototype","toString","src","dst","converter","reverse","newObj","val","onlyValueIsString","arr","elm","arrayToObject","tmp","inv","push","invert","opts","srcKeyChain","setParentEmptyObject","each-props","is-plain-object","2","cb","thisArg","len","idx","ele","3","pos","end","Math","max","min","start","range","4","defaults","fn","forEachChild","node","baseKey","keys","sortedKeys","sort","index","count","notDigg","slice","object.defaults/immutable","5","isObjectObject","ctor","constructor","prot","hasOwnProperty","isobject","6","7","forIn","hasOwn","for-in","8","defineProperty","9","10","args","arguments","apply","concat","./mutable","array-slice","11","each","forOwn","target","objects","array-each","for-own"],"mappings":"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"} \ No newline at end of file
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- github.com/advisories/GHSA-897m-rjf5-jp39ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2020-28503ghsaADVISORY
- github.com/gulpjs/copy-props/commit/2c738f5c52cfb384b43d977a56a3ab7ce465df9bghsaWEB
- github.com/gulpjs/copy-props/pull/7ghsax_refsource_MISCWEB
- snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1088047ghsax_refsource_MISCWEB
- snyk.io/vuln/SNYK-JS-COPYPROPS-1082870ghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.