Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 14 additions & 39 deletions audit.log
Original file line number Diff line number Diff line change
@@ -1,48 +1,23 @@
┌─────────────────────┬────────────────────────────────────────────────────────┐
moderate │ js-yaml: YAML merge-key chains can force quadratic CPU
│ │ consumption in js-yaml
high │ brace-expansion: DoS via unbounded expansion length
│ │ causing an out-of-memory process crash
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Package │ js-yaml
│ Package │ brace-expansion
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Vulnerable versions │ >=5.0.0 <=5.1.0
│ Vulnerable versions │ <=5.0.7
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Patched versions │ >=5.1.1
│ Patched versions │ >=5.0.8
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Paths │ .>node-yaml-config>js-yaml
│ Paths │ .>ejs>jake>filelist>minimatch>brace-expansion
│ │ │
│ │ .>mocha>js-yaml │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ More info │ https://github.com/advisories/GHSA-g796-fgmg-93mv │
└─────────────────────┴────────────────────────────────────────────────────────┘
┌─────────────────────┬────────────────────────────────────────────────────────┐
│ moderate │ js-yaml: Quadratic-complexity (O(n^2)) DoS via !!omap │
│ │ tag in YAML11_SCHEMA │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Package │ js-yaml │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Vulnerable versions │ >=5.0.0 <=5.2.0 │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Patched versions │ >=5.2.1 │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Paths │ .>node-yaml-config>js-yaml │
│ │ .>mocha>minimatch>brace-expansion │
│ │ │
│ │ .>mocha>js-yaml │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ More info │ https://github.com/advisories/GHSA-724g-mxrg-4qvm │
└─────────────────────┴────────────────────────────────────────────────────────┘
┌─────────────────────┬────────────────────────────────────────────────────────┐
│ low │ body-parser vulnerable to denial of service when │
│ │ invalid limit value silently disables size enforcement │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Package │ body-parser │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Vulnerable versions │ >=2.0.0 <2.3.0 │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Patched versions │ >=2.3.0 │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Paths │ .>mock-http-server>body-parser │
│ │ .>ejs>jake>minimatch>brace-expansion │
│ │ │
│ │ ... Found 4 paths, run `pnpm why brace-expansion` for │
│ │ more information │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ More info │ https://github.com/advisories/GHSA-v422-hmwv-36x6
│ More info │ https://github.com/advisories/GHSA-mh99-v99m-4gvg
└─────────────────────┴────────────────────────────────────────────────────────┘
3 vulnerabilities found
Severity: 1 low | 2 moderate
1 vulnerabilities found
Severity: 1 high
10 changes: 9 additions & 1 deletion lib/plugins/system/oembed/oembed.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,15 @@ export default {

getData: function(url, oembedLinks, oembedUtils, options, cb) {

var href = oembedLinks[0].href;
const weights = {
'application/json+oembed': -1,
'text/xml+oembed': 1
}

var href = oembedLinks.sort(
// Prefer JSON
(a,b) => a.type && b.type && (weights[a.type.toLowerCase()] - weights[b.type.toLowerCase()]) || 0
)[0].href;

var skip = CONFIG.SKIP_OEMBED_RE_LIST
&& CONFIG.SKIP_OEMBED_RE_LIST.some(re => re.test(href)),
Expand Down
6 changes: 4 additions & 2 deletions lib/plugins/system/oembed/oembedUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -379,8 +379,10 @@ function xmlStream2oembed(stream, callback) {
} else {
if (prop) {

if (charset !== 'UTF-8') {
// Decode only non UTF-8 because sax makes decoding.
if (charset /* !== 'UTF-8' */) { // previouly - Decode only non UTF-8 because sax makes decoding.
// UTF-8 is not decoded by default in July 2026
// Ex.: https://rutube.ru/video/bf4825090681c5c25312534bab3c7f62/

var oldValue = value;
value = encodeText(charset, value);
// log(' -- decode oembed xml (charset, in, out):', charset, oldValue, value);
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"ejs": "3.1.10",
"entities": "1.1.2",
"express": "^5.1.0",
"got": "^14.4.4",
"got": "^14.4.5",
"graceful-cluster": "^0.0.5",
"htmlparser2": "^7.2.0",
"iconv-lite": "^0.6.3",
Expand All @@ -54,7 +54,7 @@
"feedparser": "2.2.10",
"mocha": "^11.7.5",
"mock-http-server": "^1.4.5",
"mongoose": "^8.22.1",
"mongoose": "^8.24.1",
"supertest": "^7.1.4"
},
"iframely-proxy-plugins": true,
Expand Down
63 changes: 17 additions & 46 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading