yarn rw jobs clear
command (#11578)"}},{"before":"fcc65f0570bdbb34c61b70fcfeaa909195e54c69","after":null,"ref":"refs/heads/jgmw/fix-graphql-scalar-config","pushedAt":"2024-09-18T17:36:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Josh-Walker-GM","name":"Josh GM Walker","path":"/Josh-Walker-GM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56300765?s=80&v=4"}},{"before":"09c2f06243eff77bb20b21857bdfaaa489b1be2d","after":"0081d3ae607e2d6c4c547219fbfbfa0c79005d6e","ref":"refs/heads/main","pushedAt":"2024-09-18T17:36:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Josh-Walker-GM","name":"Josh GM Walker","path":"/Josh-Walker-GM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56300765?s=80&v=4"},"commit":{"message":"fix(graphql): Allow including 'File' scalar by default to be disabled (#11540)\n\nThere was a problem introduced in v8 when we included the `File` scalar\r\nby default. This meant a custom implementation by the user could be\r\nclobbered by the new default. This change allows the user to supply\r\nconfig to disable including it by default.\r\n\r\nThis is not how I would have loved to have done things here. Config in\r\ntwo places is rubbish but given the organisation of this currently it\r\nwas generally unavoidable.","shortMessageHtmlLink":"fix(graphql): Allow including 'File' scalar by default to be disabled (…"}},{"before":"af5fdf009ab020451fff8ccf1554bafb77141e60","after":"fcc65f0570bdbb34c61b70fcfeaa909195e54c69","ref":"refs/heads/jgmw/fix-graphql-scalar-config","pushedAt":"2024-09-18T17:18:47.000Z","pushType":"push","commitsCount":40,"pusher":{"login":"Josh-Walker-GM","name":"Josh GM Walker","path":"/Josh-Walker-GM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56300765?s=80&v=4"},"commit":{"message":"Merge branch 'main' into jgmw/fix-graphql-scalar-config","shortMessageHtmlLink":"Merge branch 'main' into jgmw/fix-graphql-scalar-config"}},{"before":"24aff481aa18f896fadca4f3c35dd1cc41ce20d9","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/find-my-way-8.2.2","pushedAt":"2024-09-18T16:43:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"ce12b00adbffe5a8e726ec11fcc61a25eea3f37f","after":null,"ref":"refs/heads/renovate/npm-find-my-way-vulnerability","pushedAt":"2024-09-18T16:42:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"}},{"before":"705ea5bb74e0f6a4da1f079b2bcb079b3506c633","after":"09c2f06243eff77bb20b21857bdfaaa489b1be2d","ref":"refs/heads/main","pushedAt":"2024-09-18T16:42:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"fix(deps): update dependency find-my-way to v8.2.2 [security] (#11585)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [find-my-way](https://redirect.github.com/delvedor/find-my-way) |\n[`8.2.0` ->\n`8.2.2`](https://renovatebot.com/diffs/npm/find-my-way/8.2.0/8.2.2) |\n[![age](https://developer.mend.io/api/mc/badges/age/npm/find-my-way/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/find-my-way/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/find-my-way/8.2.0/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/find-my-way/8.2.0/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)\n|\n\n---\n\n> [!WARNING]\n> Some dependencies could not be looked up. Check the Dependency\nDashboard for more information.\n\n### GitHub Vulnerability Alerts\n\n####\n[CVE-2024-45813](https://redirect.github.com/delvedor/find-my-way/security/advisories/GHSA-rrr8-f88r-h8q6)\n\n### Impact\n\nA bad regular expression is generated any time you have two parameters\nwithin a single segment, when adding a `-` at the end, like `/:a-:b-`.\n\n### Patches\n\nUpdate to find-my-way v8.2.2 or v9.0.1. or subsequent versions.\n\n### Workarounds\n\nNo known workarounds.\n\n### References\n\n-\n[CVE-2024-45296](https://redirect.github.com/advisories/GHSA-9wv6-86v2-598j)\n- [Detailed blog post about `path-to-regexp`\nvulnerability](https://blakeembrey.com/posts/2024-09-web-redos/)\n\n---\n\n### Release Notes\n\nundefined
when starting j…"}},{"before":null,"after":"ce12b00adbffe5a8e726ec11fcc61a25eea3f37f","ref":"refs/heads/renovate/npm-find-my-way-vulnerability","pushedAt":"2024-09-18T16:24:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"fix(deps): update dependency find-my-way to v8.2.2 [security]","shortMessageHtmlLink":"fix(deps): update dependency find-my-way to v8.2.2 [security]"}},{"before":null,"after":"24aff481aa18f896fadca4f3c35dd1cc41ce20d9","ref":"refs/heads/dependabot/npm_and_yarn/find-my-way-8.2.2","pushedAt":"2024-09-18T16:21:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(deps): bump find-my-way from 8.2.0 to 8.2.2\n\nBumps [find-my-way](https://github.com/delvedor/find-my-way) from 8.2.0 to 8.2.2.\n- [Release notes](https://github.com/delvedor/find-my-way/releases)\n- [Commits](https://github.com/delvedor/find-my-way/compare/v8.2.0...v8.2.2)\n\n---\nupdated-dependencies:\n- dependency-name: find-my-way\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] The request url "/tmp/secret.txt" is outside of Vite serving allow list.\r\n\r\n# security bypassed\r\n$ curl \"http://localhost:5173/@fs/tmp/secret.txt?import&raw\"\r\nexport default \"top secret content\\n\"\r\n//# sourceMappingURL=data:application/json;base64,eyJ2...\r\n```\r\n\r\n####\r\n[CVE-2024-45812](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-64vr-g452-qvp3)\r\n\r\n### Summary\r\n\r\nWe discovered a DOM Clobbering vulnerability in Vite when building\r\nscripts to `cjs`/`iife`/`umd` output format. The DOM Clobbering gadget\r\nin the module can lead to cross-site scripting (XSS) in web pages where\r\nscriptless attacker-controlled HTML elements (e.g., an img tag with an\r\nunsanitized name attribute) are present.\r\n\r\nNote that, we have identified similar security issues in Webpack:\r\nhttps://github.com/webpack/webpack/security/advisories/GHSA-4vvj-4cpr-p986\r\n\r\n### Details\r\n\r\n**Backgrounds**\r\n\r\nDOM Clobbering is a type of code-reuse attack where the attacker first\r\nembeds a piece of non-script, seemingly benign HTML markups in the\r\nwebpage (e.g. through a post or comment) and leverages the gadgets\r\n(pieces of js code) living in the existing javascript code to transform\r\nit into executable code. More for information about DOM Clobbering, here\r\nare some references:\r\n\r\n[1] https://scnps.co/papers/sp23_domclob.pdf\r\n[2] https://research.securitum.com/xss-in-amp4email-dom-clobbering/\r\n\r\n**Gadgets found in Vite**\r\n\r\nWe have identified a DOM Clobbering vulnerability in Vite bundled\r\nscripts, particularly when the scripts dynamically import other scripts\r\nfrom the assets folder and the developer sets the build output format to\r\n`cjs`, `iife`, or `umd`. In such cases, Vite replaces relative paths\r\nstarting with `__VITE_ASSET__` using the URL retrieved from\r\n`document.currentScript`.\r\n\r\nHowever, this implementation is vulnerable to a DOM Clobbering attack.\r\nThe `document.currentScript` lookup can be shadowed by an attacker via\r\nthe browser's named DOM tree element access mechanism. This manipulation\r\nallows an attacker to replace the intended script element with a\r\nmalicious HTML element. When this happens, the src attribute of the\r\nattacker-controlled element is used as the URL for importing scripts,\r\npotentially leading to the dynamic loading of scripts from an\r\nattacker-controlled server.\r\n\r\n```\r\nconst relativeUrlMechanisms = {\r\n amd: (relativePath) => {\r\n if (relativePath[0] !== \".\") relativePath = \"./\" + relativePath;\r\n return getResolveUrl(\r\n `require.toUrl('${escapeId(relativePath)}'), document.baseURI`\r\n );\r\n },\r\n cjs: (relativePath) => `(typeof document === 'undefined' ? ${getFileUrlFromRelativePath(\r\n relativePath\r\n )} : ${getRelativeUrlFromDocument(relativePath)})`,\r\n es: (relativePath) => getResolveUrl(\r\n `'${escapeId(partialEncodeURIPath(relativePath))}', import.meta.url`\r\n ),\r\n iife: (relativePath) => getRelativeUrlFromDocument(relativePath),\r\n // NOTE: make sure rollup generate `module` params\r\n system: (relativePath) => getResolveUrl(\r\n `'${escapeId(partialEncodeURIPath(relativePath))}', module.meta.url`\r\n ),\r\n umd: (relativePath) => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath(\r\n relativePath\r\n )} : ${getRelativeUrlFromDocument(relativePath, true)})`\r\n};\r\n```\r\n\r\n### PoC\r\n\r\nConsidering a website that contains the following `main.js` script, the\r\ndevloper decides to use the Vite to bundle up the program with the\r\nfollowing configuration.\r\n\r\n```\r\n// main.js\r\nimport extraURL from './extra.js?url'\r\nvar s = document.createElement('script')\r\ns.src = extraURL\r\ndocument.head.append(s)\r\n```\r\n\r\n```\r\n// extra.js\r\nexport default \"https://myserver/justAnOther.js\"\r\n```\r\n\r\n```\r\n// vite.config.js\r\nimport { defineConfig } from 'vite'\r\n\r\nexport default defineConfig({\r\n build: {\r\n assetsInlineLimit: 0, // To avoid inline assets for PoC\r\n rollupOptions: {\r\n output: {\r\n format: \"cjs\"\r\n },\r\n },\r\n },\r\n base: \"./\",\r\n});\r\n```\r\n\r\nAfter running the build command, the developer will get following bundle\r\nas the output.\r\n\r\n```\r\n// dist/index-DDmIg9VD.js\r\n\"use strict\";const t=\"\"+(typeof document>\"u\"?require(\"url\").pathToFileURL(__dirname+\"/extra-BLVEx9Lb.js\").href:new URL(\"extra-BLVEx9Lb.js\",document.currentScript&&document.currentScript.src||document.baseURI).href);var e=document.createElement(\"script\");e.src=t;document.head.append(e);\r\n```\r\n\r\nAdding the Vite bundled script, `dist/index-DDmIg9VD.js`, as part of the\r\nweb page source code, the page could load the `extra.js` file from the\r\nattacker's domain, `attacker.controlled.server`. The attacker only needs\r\nto insert an `img` tag with the `name` attribute set to `currentScript`.\r\nThis can be done through a website's feature that allows users to embed\r\ncertain script-less HTML (e.g., markdown renderers, web email clients,\r\nforums) or via an HTML injection vulnerability in third-party JavaScript\r\nloaded on the page.\r\n\r\n```\r\n\r\n\r\n
\r\n