From 292b175b075995bea33e7618e37571ce4878b385 Mon Sep 17 00:00:00 2001 From: "advisory-database[bot]" <45398580+advisory-database[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 15:13:16 +0000 Subject: [PATCH] Publish Advisories GHSA-5x5q-8cgm-2hjq GHSA-m56h-5xx3-2jc2 --- .../2023/03/GHSA-5x5q-8cgm-2hjq/GHSA-5x5q-8cgm-2hjq.json | 2 +- .../2024/12/GHSA-m56h-5xx3-2jc2/GHSA-m56h-5xx3-2jc2.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/advisories/github-reviewed/2023/03/GHSA-5x5q-8cgm-2hjq/GHSA-5x5q-8cgm-2hjq.json b/advisories/github-reviewed/2023/03/GHSA-5x5q-8cgm-2hjq/GHSA-5x5q-8cgm-2hjq.json index 4d545dc068b..64a493bc194 100644 --- a/advisories/github-reviewed/2023/03/GHSA-5x5q-8cgm-2hjq/GHSA-5x5q-8cgm-2hjq.json +++ b/advisories/github-reviewed/2023/03/GHSA-5x5q-8cgm-2hjq/GHSA-5x5q-8cgm-2hjq.json @@ -1,7 +1,7 @@ { "schema_version": "1.4.0", "id": "GHSA-5x5q-8cgm-2hjq", - "modified": "2024-10-28T17:50:02Z", + "modified": "2025-01-07T15:11:49Z", "published": "2023-03-31T22:44:09Z", "aliases": [], "summary": "Karate has vulnerable dependency on json-smart package (CVE-2023-1370)", diff --git a/advisories/github-reviewed/2024/12/GHSA-m56h-5xx3-2jc2/GHSA-m56h-5xx3-2jc2.json b/advisories/github-reviewed/2024/12/GHSA-m56h-5xx3-2jc2/GHSA-m56h-5xx3-2jc2.json index 145196ef641..860a2571ca8 100644 --- a/advisories/github-reviewed/2024/12/GHSA-m56h-5xx3-2jc2/GHSA-m56h-5xx3-2jc2.json +++ b/advisories/github-reviewed/2024/12/GHSA-m56h-5xx3-2jc2/GHSA-m56h-5xx3-2jc2.json @@ -1,11 +1,11 @@ { "schema_version": "1.4.0", "id": "GHSA-m56h-5xx3-2jc2", - "modified": "2024-12-18T15:50:10Z", + "modified": "2025-01-07T15:12:20Z", "published": "2024-12-18T15:50:09Z", "aliases": [], "summary": "Prototype pollution in jsii.configureCategories", - "details": "## Summary\n\n`jsii` is a TypeScript to JavaScript compiler that also extracts an interface definition manifest to generate RPC stubs in various programming languages. jsii is typically used as a command-line tool, but it can also be loaded as a library.\nWhen loaded as a library into a larger application, prototype pollution may happen if untrusted user input is passed to the library. When used as a command line-tool, this pollution cannot occur.\n\n## Impact\n\nYou may be impacted if you have written an application that loads jsii as a library, and passes untrusted user input into the `jsii.configureCategories()` function. In that case, a user can craft input in such a way that, following the invocation, a field named \"category\" with a user-controlled value is added to the JavaScript Object prototype. This will cause every object in the program (both new and existing) to have a field named \"category\", even if it shouldn't. \n\n**This will not affect jsii itself, but it might affect the application you have loaded jsii into.**\n\n> The function `jsii.configureCategories()` is used to configure the severity (error, warning, etc.) of various jsii diagnostics.\n\n**Impacted versions: <=5.7.2, <=5.6.3, <=5.5.14, <=5.4.45** \n\n**Example:**\n\n```js\nconst jsii = require('jsii');\n\n// prints 'undefined'\nconsole.log(JSON.stringify({}.category))\n\n// calling 'configureCategories' with user input\njsii.configureCategories(JSON.parse('{\"__proto__\": \"user-input\"}'))\n\n// from this point onwards, every single object literal in the program\n// will contain the 'category' key, with user controlled value\nconsole.log(JSON.stringify({}.category)) // prints 'user-input'\n\n\n// this can affect the execution of the main program in case it also makes \n// use of an object key called 'category'. for example, if the main programs \n// happens to have code like this:\n\nconst x = {} // some object in the main program (not necessarily empty)\n\nif (x.category) {\n // this block will always be executed, effectively \n // changing the behavior of the main program.\n console.log('Do something')\n} else {\n console.log('Do something else')\n}\n```\n\nFor more information about javascript prototype pollution, see [1].\n\n## Patches\n\nA patch is included in versions [5.7.3](https://github.com/aws/jsii-compiler/releases/tag/v5.7.3), [5.6.4](https://github.com/aws/jsii-compiler/releases/tag/v5.6.4), [5.5.15](https://github.com/aws/jsii-compiler/releases/tag/v5.5.15), [5.4.46](https://github.com/aws/jsii-compiler/releases/tag/v5.4.46)\n\n## Workarounds\n\nSanitize user input to configureCategories() by stripping the __proto__ property if detected.\n\n## References\n\nIf you have any questions or comments about this advisory, we ask that you contact AWS/Amazon Security via our issue reporting page [2] or directly via email to [aws-security@amazon.com](mailto:aws-security@amazon.com). Please do not create a public GitHub issue.\n\n[1] https://learn.snyk.io/lesson/prototype-pollution/\n\n[2] [https://aws.amazon.com/security/issue-reporting](https://aws.amazon.com/security/vulnerability-reporting)", + "details": "## Summary\n\n`jsii` is a TypeScript to JavaScript compiler that also extracts an interface definition manifest to generate RPC stubs in various programming languages. jsii is typically used as a command-line tool, but it can also be loaded as a library.\nWhen loaded as a library into a larger application, prototype pollution may happen if untrusted user input is passed to the library. When used as a command line-tool, this pollution cannot occur.\n\n## Impact\n\nYou may be impacted if you have written an application that loads jsii as a library, and passes untrusted user input into the `jsii.configureCategories()` function. In that case, a user can craft input in such a way that, following the invocation, a field named \"category\" with a user-controlled value is added to the JavaScript Object prototype. This will cause every object in the program (both new and existing) to have a field named \"category\", even if it shouldn't. \n\n**This will not affect jsii itself, but it might affect the application you have loaded jsii into.**\n\n> The function `jsii.configureCategories()` is used to configure the severity (error, warning, etc.) of various jsii diagnostics.\n\n**Impacted versions: <=5.7.2, <=5.6.3, <=5.5.14, <=5.4.45** \n\n**Example:**\n\n```js\nconst jsii = require('jsii');\n\n// prints 'undefined'\nconsole.log(JSON.stringify({}.category))\n\n// calling 'configureCategories' with user input\njsii.configureCategories(JSON.parse('{\"__proto__\": \"user-input\"}'))\n\n// from this point onwards, every single object literal in the program\n// will contain the 'category' key, with user controlled value\nconsole.log(JSON.stringify({}.category)) // prints 'user-input'\n\n\n// this can affect the execution of the main program in case it also makes \n// use of an object key called 'category'. for example, if the main programs \n// happens to have code like this:\n\nconst x = {} // some object in the main program (not necessarily empty)\n\nif (x.category) {\n // this block will always be executed, effectively \n // changing the behavior of the main program.\n console.log('Do something')\n} else {\n console.log('Do something else')\n}\n```\n\nFor more information about javascript prototype pollution, see [1].\n\n## Patches\n\nA patch is included in versions [5.7.3](https://github.com/aws/jsii-compiler/releases/tag/v5.7.3), [5.6.4](https://github.com/aws/jsii-compiler/releases/tag/v5.6.4), [5.5.15](https://github.com/aws/jsii-compiler/releases/tag/v5.5.15), [5.4.46](https://github.com/aws/jsii-compiler/releases/tag/v5.4.46)\n\n## Workarounds\n\nSanitize user input to configureCategories() by stripping the __proto__ property if detected.\n\n## References\n\nIf you have any questions or comments about this advisory, we ask that you contact AWS/Amazon Security via our issue reporting page [2] or directly via email to [aws-security@amazon.com](mailto:aws-security@amazon.com). Please do not create a public GitHub issue.\n\n[1] https://learn.snyk.io/lesson/prototype-pollution/\n\n[2] [https://aws.amazon.com/security/issue-reporting](https://aws.amazon.com/security/vulnerability-reporting)\n\n## Credits\n\nWe would like to thank _Tariq Hawis_ for collaborating on this issue through the coordinated vulnerability disclosure process.", "severity": [ { "type": "CVSS_V3",