mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
bf99f6fa6e
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`4.3.8` -> `4.3.9`](https://renovatebot.com/diffs/npm/vite/4.3.8/4.3.9) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.3.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.3.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.3.9/compatibility-slim/4.3.8)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.3.9/confidence-slim/4.3.8)](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-34092](https://togithub.com/vitejs/vite/security/advisories/GHSA-353f-5xf4-qw67) ### Summary Vite Server Options (`server.fs.deny`) can be bypassed using double forward-slash (//) allows any unauthenticated user to read file from the Vite root-path of the application including the default [`fs.deny` settings](https://vitejs.dev/config/server-options.html#server-fs-deny) (`['.env', '.env.*', '*.{crt,pem}']`) ### Impact Only users explicitly exposing the Vite dev server to the network (using `--host` or [`server.host` config option](https://vitejs.dev/config/server-options.html#server-host)) are affected, and only files in the immediate Vite project root folder could be exposed. ### Patches Fixed in vite@4.3.9, vite@4.2.3, vite@4.1.5, vite@4.0.5 And in the latest minors of the previous two majors: vite@3.2.7, vite@2.9.16 ### Details Vite serve the application with under the root-path of the project while running on the dev mode. By default, vite using server options fs.deny to protected the sensitive information of the file. But, with simply double forward-slash, we can bypass this fs restriction. ### PoC 1. Create a new latest project of vite using any package manager. (here I'm using react and vue templates for tested and pnpm) 2. Serve the application on dev mode using pnpm run dev. 3. Directly access the file from url using double forward-slash (`//`) (e.g: `//.env`, `//.env.local`) 4. Server Options `fs.deny` restrict successfully bypassed. Proof Images: ![proof-1](https://user-images.githubusercontent.com/30733517/241105344-6ecbc7f6-57b7-45c7-856a-6421a577dda1.png) ![proof-2](https://user-images.githubusercontent.com/30733517/241105349-ab9561e7-8aff-4f29-97f9-b784e673c122.png) --- ### Release Notes <details> <summary>vitejs/vite</summary> ### [`v4.3.9`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small439-2023-05-26-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v4.3.8...v4.3.9) - fix: fs.deny with leading double slash ([#​13348](https://togithub.com/vitejs/vite/issues/13348)) ([813ddd6](https://togithub.com/vitejs/vite/commit/813ddd6)), closes [#​13348](https://togithub.com/vitejs/vite/issues/13348) - fix: optimizeDeps during build and external ids ([#​13274](https://togithub.com/vitejs/vite/issues/13274)) ([e3db771](https://togithub.com/vitejs/vite/commit/e3db771)), closes [#​13274](https://togithub.com/vitejs/vite/issues/13274) - fix(css): return deps if have no postcss plugins ([#​13344](https://togithub.com/vitejs/vite/issues/13344)) ([28923fb](https://togithub.com/vitejs/vite/commit/28923fb)), closes [#​13344](https://togithub.com/vitejs/vite/issues/13344) - fix(legacy): style insert order ([#​13266](https://togithub.com/vitejs/vite/issues/13266)) ([e444375](https://togithub.com/vitejs/vite/commit/e444375)), closes [#​13266](https://togithub.com/vitejs/vite/issues/13266) - chore: revert prev release commit ([2a30a07](https://togithub.com/vitejs/vite/commit/2a30a07)) - release: v4.3.9 ([5c9abf7](https://togithub.com/vitejs/vite/commit/5c9abf7)) - docs: optimizeDeps.needsInterop ([#​13323](https://togithub.com/vitejs/vite/issues/13323)) ([b34e79c](https://togithub.com/vitejs/vite/commit/b34e79c)), closes [#​13323](https://togithub.com/vitejs/vite/issues/13323) - test: respect commonjs options in playgrounds ([#​13273](https://togithub.com/vitejs/vite/issues/13273)) ([19e8c68](https://togithub.com/vitejs/vite/commit/19e8c68)), closes [#​13273](https://togithub.com/vitejs/vite/issues/13273) - refactor: simplify SSR options' if statement ([#​13254](https://togithub.com/vitejs/vite/issues/13254)) ([8013a66](https://togithub.com/vitejs/vite/commit/8013a66)), closes [#​13254](https://togithub.com/vitejs/vite/issues/13254) - perf(ssr): calculate stacktrace offset lazily ([#​13256](https://togithub.com/vitejs/vite/issues/13256)) ([906c4c1](https://togithub.com/vitejs/vite/commit/906c4c1)), closes [#​13256](https://togithub.com/vitejs/vite/issues/13256) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
166 lines
5.6 KiB
JSON
166 lines
5.6 KiB
JSON
{
|
|
"name": "unleash-frontend-local",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"files": [
|
|
"index.js",
|
|
"build"
|
|
],
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"scripts": {
|
|
"build": "vite build",
|
|
"dev": "vite",
|
|
"start": "vite",
|
|
"start:prod": "vite build && vite preview",
|
|
"start:sandbox": "UNLEASH_API=https://sandbox.getunleash.io/ospro yarn run start",
|
|
"start:demo2": "UNLEASH_API=https://sandbox.getunleash.io/ UNLEASH_BASE_PATH=/demo2/ yarn run start",
|
|
"start:enterprise": "UNLEASH_API=https://unleash.herokuapp.com VITE_TEST_REDIRECT=true yarn run start",
|
|
"start:demo": "UNLEASH_BASE_PATH=/demo/ UNLEASH_API=https://app.unleash-hosted.com/ yarn run start",
|
|
"test": "tsc && NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" vitest run",
|
|
"test:snapshot": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" yarn test -u",
|
|
"test:watch": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" vitest watch",
|
|
"lint": "eslint --fix ./src",
|
|
"lint:check": "eslint ./src",
|
|
"fmt": "prettier src --write --loglevel warn",
|
|
"fmt:check": "prettier src --check",
|
|
"ts:check": "tsc",
|
|
"e2e": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" yarn run cypress open --config baseUrl='http://localhost:3000' --env AUTH_USER=admin,AUTH_PASSWORD=unleash4all",
|
|
"e2e:heroku": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" yarn run cypress open --config baseUrl='https://unleash.herokuapp.com' --env AUTH_USER=admin,AUTH_PASSWORD=unleash4all",
|
|
"gen:api": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" orval --config orval.config.js",
|
|
"gen:api:demo": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" UNLEASH_OPENAPI_URL=https://app.unleash-hosted.com/demo/docs/openapi.json yarn run gen:api",
|
|
"gen:api:sandbox": "NODE_OPTIONS=\"${NODE_OPTIONS} --no-experimental-fetch\" UNLEASH_OPENAPI_URL=https://sandbox.getunleash.io/demo2/docs/openapi.json yarn run gen:api"
|
|
},
|
|
"devDependencies": {
|
|
"@codemirror/lang-json": "6.0.1",
|
|
"@emotion/react": "11.11.0",
|
|
"@emotion/styled": "11.11.0",
|
|
"@mui/icons-material": "5.11.9",
|
|
"@mui/lab": "5.0.0-alpha.120",
|
|
"@mui/material": "5.11.10",
|
|
"@testing-library/dom": "8.20.0",
|
|
"@testing-library/jest-dom": "5.16.5",
|
|
"@testing-library/react": "12.1.5",
|
|
"@testing-library/react-hooks": "7.0.2",
|
|
"@testing-library/user-event": "14.4.3",
|
|
"@types/debounce": "1.2.1",
|
|
"@types/deep-diff": "1.0.2",
|
|
"@types/jest": "29.5.1",
|
|
"@types/lodash.clonedeep": "4.5.7",
|
|
"@types/lodash.omit": "4.5.7",
|
|
"@types/node": "17.0.18",
|
|
"@types/react": "17.0.59",
|
|
"@types/react-dom": "17.0.20",
|
|
"@types/react-linkify": "1.0.1",
|
|
"@types/react-router-dom": "5.3.3",
|
|
"@types/react-table": "7.7.14",
|
|
"@types/react-test-renderer": "17.0.2",
|
|
"@types/react-timeago": "4.1.3",
|
|
"@types/semver": "7.5.0",
|
|
"@types/uuid": "^9.0.0",
|
|
"@uiw/codemirror-theme-duotone": "4.20.2",
|
|
"@uiw/react-codemirror": "4.20.2",
|
|
"@vitejs/plugin-react": "3.1.0",
|
|
"chart.js": "3.9.1",
|
|
"chartjs-adapter-date-fns": "3.0.0",
|
|
"classnames": "2.3.2",
|
|
"copy-to-clipboard": "3.3.3",
|
|
"countries-and-timezones": "^3.4.0",
|
|
"cypress": "12.12.0",
|
|
"cypress-vite": "^1.4.0",
|
|
"date-fns": "2.30.0",
|
|
"date-fns-tz": "^2.0.0",
|
|
"debounce": "1.2.1",
|
|
"deep-diff": "1.0.2",
|
|
"dequal": "2.0.3",
|
|
"eslint": "8.41.0",
|
|
"eslint-config-react-app": "7.0.1",
|
|
"fast-json-patch": "3.1.1",
|
|
"http-proxy-middleware": "2.0.6",
|
|
"immer": "9.0.21",
|
|
"jsdom": "21.1.2",
|
|
"lodash.clonedeep": "4.5.0",
|
|
"lodash.omit": "4.5.0",
|
|
"mermaid": "^9.3.0",
|
|
"millify": "^5.0.1",
|
|
"msw": "0.49.3",
|
|
"pkginfo": "0.4.1",
|
|
"plausible-tracker": "0.3.8",
|
|
"prettier": "2.8.1",
|
|
"prop-types": "15.8.1",
|
|
"react": "17.0.2",
|
|
"react-chartjs-2": "4.3.1",
|
|
"react-confetti": "^6.1.0",
|
|
"react-dom": "17.0.2",
|
|
"react-dropzone": "14.2.3",
|
|
"react-error-boundary": "3.1.4",
|
|
"react-hooks-global-state": "2.1.0",
|
|
"react-joyride": "^2.5.3",
|
|
"react-linkify": "^1.0.0-alpha",
|
|
"react-markdown": "^8.0.4",
|
|
"react-router-dom": "6.11.2",
|
|
"react-table": "7.8.0",
|
|
"react-test-renderer": "17.0.2",
|
|
"react-timeago": "7.1.0",
|
|
"sass": "1.62.1",
|
|
"semver": "7.5.1",
|
|
"swr": "2.1.5",
|
|
"tss-react": "4.8.4",
|
|
"typescript": "4.8.4",
|
|
"vite": "4.3.9",
|
|
"vite-plugin-env-compatible": "1.1.1",
|
|
"vite-plugin-svgr": "2.4.0",
|
|
"vite-tsconfig-paths": "4.2.0",
|
|
"vitest": "0.31.1",
|
|
"whatwg-fetch": "3.6.2"
|
|
},
|
|
"optionalDependencies": {
|
|
"orval": "^6.10.3"
|
|
},
|
|
"resolutions": {
|
|
"@codemirror/state": "6.2.0",
|
|
"@xmldom/xmldom": "^0.8.4",
|
|
"json5": "^2.2.2",
|
|
"@types/react": "17.0.59",
|
|
"@types/react-dom": "17.0.20"
|
|
},
|
|
"jest": {
|
|
"moduleNameMapper": {
|
|
"\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/__mocks__/fileMock.js",
|
|
"\\.svg": "<rootDir>/src/__mocks__/svgMock.js",
|
|
"\\.(css|scss)$": "identity-obj-proxy"
|
|
}
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"react-app",
|
|
"react-app/jest"
|
|
],
|
|
"parserOptions": {
|
|
"warnOnUnsupportedTypeScriptVersion": false
|
|
},
|
|
"rules": {
|
|
"no-restricted-globals": "off",
|
|
"no-useless-computed-key": "off",
|
|
"import/no-anonymous-default-export": "off",
|
|
"react-hooks/exhaustive-deps": "off"
|
|
},
|
|
"ignorePatterns": [
|
|
"cypress"
|
|
]
|
|
}
|
|
}
|