Skip to content

Commit bb67c71

Browse files
authored
[CVE-2022-25758] Use dart-sass instead of node-sass (#2054)
https://github.com/opensearch-project/OpenSearch-Dashboards/security/dependabot/62 This PR fixes the Regular expression denial of service in scss-tokenizer, use dart-sass instead of node-sass. The node-sass are deprecated, the detail here. https://www.npmjs.com/package/node-sass The suggested solution (#535) is that use dart-sass instead of node-sass * use dart-sass instead of node-sass * Update basic_optimization.test snapshot * use compressed as outputsytle and fixes yarn.lock * minimize yarn.lock changes Issues Resolved: #1842 #535 Signed-off-by: Tao liu <liutaoaz@amazon.com>
1 parent 7602180 commit bb67c71

File tree

6 files changed

+28
-117
lines changed

6 files changed

+28
-117
lines changed

packages/osd-optimizer/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"json-stable-stringify": "^1.0.1",
3333
"lmdb-store": "^1.6.11",
3434
"loader-utils": "^1.2.3",
35-
"node-sass": "^6.0.1",
35+
"sass": "~1.26.11",
3636
"normalize-path": "^3.0.0",
3737
"pirates": "^4.0.1",
3838
"postcss": "^8.4.5",

packages/osd-optimizer/src/integration_tests/__snapshots__/basic_optimization.test.ts.snap

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/osd-optimizer/src/worker/webpack.config.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,9 @@ export function getWebpackConfig(bundle: Bundle, bundleRefs: BundleRefs, worker:
176176
)};\n${content}`;
177177
},
178178
webpackImporter: false,
179-
implementation: require('node-sass'),
179+
implementation: require('sass'),
180180
sassOptions: {
181-
outputStyle: 'nested',
181+
outputStyle: 'compressed',
182182
includePaths: [Path.resolve(worker.repoRoot, 'node_modules')],
183183
sourceMapRoot: `/${bundle.type}:${bundle.id}`,
184184
},

packages/osd-ui-framework/Gruntfile.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* under the License.
2929
*/
3030

31-
const sass = require('node-sass');
31+
const sass = require('sass');
3232
const postcss = require('postcss');
3333
const postcssConfig = require('@osd/optimizer/postcss.config.js');
3434

packages/osd-ui-framework/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"grunt-babel": "^8.0.0",
3131
"grunt-contrib-clean": "^2.0.0",
3232
"grunt-contrib-copy": "^1.0.0",
33-
"node-sass": "^6.0.1",
33+
"sass": "~1.26.11",
3434
"postcss": "^8.4.5",
3535
"sinon": "^7.4.2"
3636
}

yarn.lock

+22-111
Original file line numberDiff line numberDiff line change
@@ -4231,11 +4231,6 @@ ajv@^8.0.1, ajv@^8.6.2:
42314231
require-from-string "^2.0.2"
42324232
uri-js "^4.2.2"
42334233

4234-
amdefine@>=0.0.4:
4235-
version "1.0.1"
4236-
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
4237-
integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
4238-
42394234
angular-aria@^1.8.0:
42404235
version "1.8.2"
42414236
resolved "https://registry.yarnpkg.com/angular-aria/-/angular-aria-1.8.2.tgz#3e5d546e549d8bddcf0b8031c677d3129d82a76d"
@@ -4675,11 +4670,6 @@ async-each@^1.0.1:
46754670
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
46764671
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
46774672

4678-
async-foreach@^0.1.3:
4679-
version "0.1.3"
4680-
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
4681-
integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
4682-
46834673
async-retry@^1.2.3:
46844674
version "1.3.3"
46854675
resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
@@ -5597,6 +5587,21 @@ chokidar@3.3.0:
55975587
optionalDependencies:
55985588
fsevents "~2.1.1"
55995589

5590+
"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2:
5591+
version "3.5.3"
5592+
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
5593+
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
5594+
dependencies:
5595+
anymatch "~3.1.2"
5596+
braces "~3.0.2"
5597+
glob-parent "~5.1.2"
5598+
is-binary-path "~2.1.0"
5599+
is-glob "~4.0.1"
5600+
normalize-path "~3.0.0"
5601+
readdirp "~3.6.0"
5602+
optionalDependencies:
5603+
fsevents "~2.3.2"
5604+
56005605
chokidar@^2.1.2, chokidar@^2.1.8:
56015606
version "2.1.8"
56025607
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
@@ -5616,21 +5621,6 @@ chokidar@^2.1.2, chokidar@^2.1.8:
56165621
optionalDependencies:
56175622
fsevents "^1.2.7"
56185623

5619-
chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2:
5620-
version "3.5.3"
5621-
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
5622-
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
5623-
dependencies:
5624-
anymatch "~3.1.2"
5625-
braces "~3.0.2"
5626-
glob-parent "~5.1.2"
5627-
is-binary-path "~2.1.0"
5628-
is-glob "~4.0.1"
5629-
normalize-path "~3.0.0"
5630-
readdirp "~3.6.0"
5631-
optionalDependencies:
5632-
fsevents "~2.3.2"
5633-
56345624
chownr@^1.1.1, chownr@^1.1.2:
56355625
version "1.1.4"
56365626
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -8878,13 +8868,6 @@ gauge@~2.7.3:
88788868
strip-ansi "^3.0.1"
88798869
wide-align "^1.1.0"
88808870

8881-
gaze@^1.0.0:
8882-
version "1.1.3"
8883-
resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
8884-
integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
8885-
dependencies:
8886-
globule "^1.0.0"
8887-
88888871
geckodriver@^3.0.1:
88898872
version "3.0.1"
88908873
resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-3.0.1.tgz#ded3512f3c6ddc490139b9d5e8fd6925d41c5631"
@@ -8925,11 +8908,6 @@ get-package-type@^0.1.0:
89258908
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
89268909
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
89278910

8928-
get-stdin@^4.0.1:
8929-
version "4.0.1"
8930-
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
8931-
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
8932-
89338911
get-stdin@^6.0.0:
89348912
version "6.0.0"
89358913
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
@@ -9217,15 +9195,6 @@ globjoin@^0.1.4:
92179195
resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
92189196
integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=
92199197

9220-
globule@^1.0.0:
9221-
version "1.3.3"
9222-
resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2"
9223-
integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==
9224-
dependencies:
9225-
glob "~7.1.1"
9226-
lodash "~4.17.10"
9227-
minimatch "~3.0.2"
9228-
92299198
got@11.8.2:
92309199
version "11.8.2"
92319200
resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599"
@@ -11339,11 +11308,6 @@ jquery@^3.5.0:
1133911308
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
1134011309
integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
1134111310

11342-
js-base64@^2.1.8:
11343-
version "2.6.4"
11344-
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
11345-
integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
11346-
1134711311
js-cookie@^2.2.1:
1134811312
version "2.2.1"
1134911313
resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
@@ -13108,27 +13072,6 @@ node-releases@^2.0.2:
1310813072
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
1310913073
integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==
1311013074

13111-
node-sass@^6.0.1:
13112-
version "6.0.1"
13113-
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe"
13114-
integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==
13115-
dependencies:
13116-
async-foreach "^0.1.3"
13117-
chalk "^1.1.1"
13118-
cross-spawn "^7.0.3"
13119-
gaze "^1.0.0"
13120-
get-stdin "^4.0.1"
13121-
glob "^7.0.3"
13122-
lodash "^4.17.15"
13123-
meow "^9.0.0"
13124-
nan "^2.13.2"
13125-
node-gyp "^7.1.0"
13126-
npmlog "^4.0.0"
13127-
request "^2.88.0"
13128-
sass-graph "2.2.5"
13129-
stdout-stream "^1.4.0"
13130-
"true-case-path" "^1.0.2"
13131-
1313213075
nopt@^2.2.0:
1313313076
version "2.2.1"
1313413077
resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz#2aa09b7d1768487b3b89a9c5aa52335bff0baea7"
@@ -15609,16 +15552,6 @@ safefs@^6.12.0:
1560915552
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1561015553
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1561115554

15612-
sass-graph@2.2.5:
15613-
version "2.2.5"
15614-
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
15615-
integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==
15616-
dependencies:
15617-
glob "^7.0.0"
15618-
lodash "^4.0.0"
15619-
scss-tokenizer "^0.2.3"
15620-
yargs "^13.3.2"
15621-
1562215555
sass-loader@^10.2.0:
1562315556
version "10.2.1"
1562415557
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.1.tgz#17e51df313f1a7a203889ce8ff91be362651276e"
@@ -15630,6 +15563,13 @@ sass-loader@^10.2.0:
1563015563
schema-utils "^3.0.0"
1563115564
semver "^7.3.2"
1563215565

15566+
sass@~1.26.11:
15567+
version "1.26.12"
15568+
resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.12.tgz#79eddaa1773fff32ccf19e00d1ce380fc2afc7d0"
15569+
integrity sha512-hmSwtBOWoS9zwe0yAS+QmaseVCUELiGV22gXHDR7+9stEsVuEuxfY1GhC8XmUpC+Ir3Hwq7NxSUNbnmkznnF7g==
15570+
dependencies:
15571+
chokidar ">=2.0.0 <4.0.0"
15572+
1563315573
sax@>=0.6.0, sax@^1.2.4:
1563415574
version "1.2.4"
1563515575
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
@@ -15690,14 +15630,6 @@ screenfull@^5.0.0:
1569015630
resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba"
1569115631
integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==
1569215632

15693-
scss-tokenizer@^0.2.3:
15694-
version "0.2.3"
15695-
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
15696-
integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
15697-
dependencies:
15698-
js-base64 "^2.1.8"
15699-
source-map "^0.4.2"
15700-
1570115633
secure-json-parse@^2.4.0:
1570215634
version "2.4.0"
1570315635
resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85"
@@ -16050,13 +15982,6 @@ source-map@0.5.6:
1605015982
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
1605115983
integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
1605215984

16053-
source-map@^0.4.2:
16054-
version "0.4.4"
16055-
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
16056-
integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
16057-
dependencies:
16058-
amdefine ">=0.0.4"
16059-
1606015985
source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6:
1606115986
version "0.5.7"
1606215987
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
@@ -16323,13 +16248,6 @@ static-extend@^0.1.1:
1632316248
define-property "^0.2.5"
1632416249
object-copy "^0.1.0"
1632516250

16326-
stdout-stream@^1.4.0:
16327-
version "1.4.1"
16328-
resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
16329-
integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
16330-
dependencies:
16331-
readable-stream "^2.0.1"
16332-
1633316251
stream-browserify@^2.0.1:
1633416252
version "2.0.2"
1633516253
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
@@ -17315,13 +17233,6 @@ trough@^1.0.0:
1731517233
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
1731617234
integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
1731717235

17318-
"true-case-path@^1.0.2":
17319-
version "1.0.3"
17320-
resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
17321-
integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
17322-
dependencies:
17323-
glob "^7.1.2"
17324-
1732517236
ts-debounce@^3.0.0:
1732617237
version "3.0.0"
1732717238
resolved "https://registry.yarnpkg.com/ts-debounce/-/ts-debounce-3.0.0.tgz#9beedf59c04de3b5bef8ff28bd6885624df357be"

0 commit comments

Comments
 (0)