@vendure/core 3.6.5-master-202606290309 → 3.6.5-master-202607010309

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,5 +27,13 @@ export declare class ShopProductsResolver {
27
27
  collection(ctx: RequestContext, args: QueryCollectionArgs, relations: RelationPaths<Collection>): Promise<Translated<Collection> | undefined>;
28
28
  search(...args: any): Promise<Omit<SearchResponse, 'facetValues'>>;
29
29
  facets(ctx: RequestContext, args: QueryFacetsArgs, relations: RelationPaths<Facet>): Promise<PaginatedList<Translated<Facet>>>;
30
+ /**
31
+ * Combines the caller-supplied filter with a mandatory `guard` filter using AND semantics,
32
+ * while preserving the caller's `filterOperator` over their own filter fields. This ensures
33
+ * the guard (e.g. `enabled: true`) is always applied, independently of the caller's
34
+ * `filterOperator`, by nesting the caller's fields (combined by their operator) inside an
35
+ * AND block alongside the guard.
36
+ */
37
+ private enforceGuardFilter;
30
38
  facet(ctx: RequestContext, args: QueryFacetArgs, relations: RelationPaths<Facet>): Promise<Translated<Facet> | undefined>;
31
39
  }
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ShopProductsResolver = void 0;
16
16
  const graphql_1 = require("@nestjs/graphql");
17
+ const generated_types_1 = require("@vendure/common/lib/generated-types");
17
18
  const request_context_cache_service_1 = require("../../../cache/request-context-cache.service");
18
19
  const constants_1 = require("../../../common/constants");
19
20
  const errors_1 = require("../../../common/error/errors");
@@ -38,7 +39,7 @@ let ShopProductsResolver = class ShopProductsResolver {
38
39
  this.requestContextCache = requestContextCache;
39
40
  }
40
41
  async products(ctx, args, relations) {
41
- const options = Object.assign(Object.assign({}, args.options), { filter: Object.assign(Object.assign({}, (args.options && args.options.filter)), { enabled: { eq: true } }) });
42
+ const options = this.enforceGuardFilter(args.options, { enabled: { eq: true } });
42
43
  return this.productService.findAll(ctx, options, relations);
43
44
  }
44
45
  async product(ctx, args, relations) {
@@ -63,8 +64,8 @@ let ShopProductsResolver = class ShopProductsResolver {
63
64
  return result;
64
65
  }
65
66
  async collections(ctx, args, relations, info) {
66
- const options = Object.assign(Object.assign({}, args.options), { filter: Object.assign(Object.assign({}, (args.options && args.options.filter)), { isPrivate: { eq: false } }) });
67
- const collections = await this.collectionService.findAll(ctx, options || undefined, relations);
67
+ const options = this.enforceGuardFilter(args.options, { isPrivate: { eq: false } });
68
+ const collections = await this.collectionService.findAll(ctx, options, relations);
68
69
  // Cache the variant counts query promise if productVariantCount is requested,
69
70
  // allowing the DB query to start before the field resolvers are called
70
71
  if ((0, is_field_in_selection_1.isFieldInSelection)(info, 'productVariantCount')) {
@@ -97,8 +98,25 @@ let ShopProductsResolver = class ShopProductsResolver {
97
98
  throw new errors_1.InternalServerError('error.no-search-plugin-configured');
98
99
  }
99
100
  async facets(ctx, args, relations) {
100
- const options = Object.assign(Object.assign({}, args.options), { filter: Object.assign(Object.assign({}, (args.options && args.options.filter)), { isPrivate: { eq: false } }) });
101
- return this.facetService.findAll(ctx, options || undefined, relations);
101
+ const options = this.enforceGuardFilter(args.options, { isPrivate: { eq: false } });
102
+ return this.facetService.findAll(ctx, options, relations);
103
+ }
104
+ /**
105
+ * Combines the caller-supplied filter with a mandatory `guard` filter using AND semantics,
106
+ * while preserving the caller's `filterOperator` over their own filter fields. This ensures
107
+ * the guard (e.g. `enabled: true`) is always applied, independently of the caller's
108
+ * `filterOperator`, by nesting the caller's fields (combined by their operator) inside an
109
+ * AND block alongside the guard.
110
+ */
111
+ enforceGuardFilter(options, guard) {
112
+ const userFilter = options === null || options === void 0 ? void 0 : options.filter;
113
+ if (!userFilter || Object.keys(userFilter).length === 0) {
114
+ // Guard is the only filter field, so `filterOperator` is moot (AND/OR over a single
115
+ // condition are equivalent); clearing it avoids carrying a now-meaningless operator.
116
+ return Object.assign(Object.assign({}, options), { filter: guard, filterOperator: undefined });
117
+ }
118
+ const userBlock = ((options === null || options === void 0 ? void 0 : options.filterOperator) === generated_types_1.LogicalOperator.OR ? { _or: [userFilter] } : { _and: [userFilter] });
119
+ return Object.assign(Object.assign({}, options), { filter: { _and: [userBlock, guard] }, filterOperator: undefined });
102
120
  }
103
121
  async facet(ctx, args, relations) {
104
122
  const facet = await this.facetService.findOne(ctx, args.id, relations);
@@ -1 +1 @@
1
- {"version":3,"file":"shop-products.resolver.js","sourceRoot":"","sources":["../../../../src/api/resolvers/shop/shop-products.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shop-products.resolver.js","sourceRoot":"","sources":["../../../../src/api/resolvers/shop/shop-products.resolver.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,8 @@
51
51
  "product-variant-option-ids-not-compatible": "ProductVariant optionIds must include one optionId from each of the groups: {groupNames}",
52
52
  "product-variant-options-combination-already-exists": "A ProductVariant with the selected options already exists: {variantName}",
53
53
  "promotion-channels-can-only-be-changed-from-default-channel": "Promotions channels may only be changed from the Default Channel",
54
+ "regex-filter-pattern-too-long": "The regex filter pattern exceeds the maximum allowed length of { max } characters",
55
+ "regex-filter-pattern-unsafe": "The regex filter pattern is not allowed as it may cause excessive resource consumption",
54
56
  "stockonhand-cannot-be-negative": "stockOnHand cannot be a negative value",
55
57
  "superadmin-must-have-superadmin-role": "Cannot remove the SuperAdmin role from the sole SuperAdmin",
56
58
  "target-customer-not-assigned-to-order-channels": "The target Customer is not assigned to the same Channels as the Order. Missing channels IDs: { missingChannelIds }",
@@ -7,6 +7,7 @@ const DateUtils_1 = require("typeorm/util/DateUtils");
7
7
  const errors_1 = require("../../../common/error/errors");
8
8
  const connection_utils_1 = require("./connection-utils");
9
9
  const get_calculated_columns_1 = require("./get-calculated-columns");
10
+ const validate_regex_filter_1 = require("./validate-regex-filter");
10
11
  /**
11
12
  * @description
12
13
  * Parses filter parameters from a GraphQL query and converts them into SQL WHERE conditions.
@@ -206,6 +207,7 @@ function buildWhereCondition(fieldName, operator, operand, argIndex, dbType) {
206
207
  }
207
208
  }
208
209
  case 'regex':
210
+ (0, validate_regex_filter_1.assertSafeRegexFilter)(operand);
209
211
  return {
210
212
  clause: getRegexpClause(fieldName, argIndex, dbType),
211
213
  parameters: { [`arg${argIndex}`]: operand },
@@ -1 +1 @@
1
- {"version":3,"file":"parse-filter-params.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/parse-filter-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-filter-params.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/parse-filter-params.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Maximum permitted length of a `regex` filter pattern. Patterns longer than this
3
+ * are rejected outright as a cheap first line of defence before any structural analysis.
4
+ */
5
+ export declare const MAX_REGEX_FILTER_LENGTH = 100;
6
+ /**
7
+ * Validates a user-supplied `StringOperators.regex` filter value, throwing a
8
+ * {@link UserInputError} if the pattern is too long or has a structure prone to
9
+ * catastrophic backtracking (ReDoS).
10
+ *
11
+ * The `regex` filter is exposed on the public Shop API and, on SQLite backends, is
12
+ * evaluated by a synchronous JS user-defined function on the Node.js event loop. An
13
+ * unvalidated pattern such as `(a+)+$` can therefore block the entire server. This
14
+ * check is a conservative static analysis applied at the single parse-layer choke
15
+ * point, so it protects all database backends regardless of how they evaluate the regex.
16
+ *
17
+ * It is a heuristic, not a proof: it reliably rejects exponential nested-quantifier
18
+ * patterns (star height >= 2) but does not attempt to catch every pathological regex
19
+ * (e.g. alternation-overlap such as `(a|a)+`). Combined with the length cap, it closes
20
+ * the documented attack class while leaving legitimate filters untouched.
21
+ */
22
+ export declare function assertSafeRegexFilter(pattern: string): void;
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_REGEX_FILTER_LENGTH = void 0;
4
+ exports.assertSafeRegexFilter = assertSafeRegexFilter;
5
+ const errors_1 = require("../../../common/error/errors");
6
+ /**
7
+ * Maximum permitted length of a `regex` filter pattern. Patterns longer than this
8
+ * are rejected outright as a cheap first line of defence before any structural analysis.
9
+ */
10
+ exports.MAX_REGEX_FILTER_LENGTH = 100;
11
+ /**
12
+ * Validates a user-supplied `StringOperators.regex` filter value, throwing a
13
+ * {@link UserInputError} if the pattern is too long or has a structure prone to
14
+ * catastrophic backtracking (ReDoS).
15
+ *
16
+ * The `regex` filter is exposed on the public Shop API and, on SQLite backends, is
17
+ * evaluated by a synchronous JS user-defined function on the Node.js event loop. An
18
+ * unvalidated pattern such as `(a+)+$` can therefore block the entire server. This
19
+ * check is a conservative static analysis applied at the single parse-layer choke
20
+ * point, so it protects all database backends regardless of how they evaluate the regex.
21
+ *
22
+ * It is a heuristic, not a proof: it reliably rejects exponential nested-quantifier
23
+ * patterns (star height >= 2) but does not attempt to catch every pathological regex
24
+ * (e.g. alternation-overlap such as `(a|a)+`). Combined with the length cap, it closes
25
+ * the documented attack class while leaving legitimate filters untouched.
26
+ */
27
+ function assertSafeRegexFilter(pattern) {
28
+ if (pattern.length > exports.MAX_REGEX_FILTER_LENGTH) {
29
+ throw new errors_1.UserInputError('error.regex-filter-pattern-too-long', { max: exports.MAX_REGEX_FILTER_LENGTH });
30
+ }
31
+ if (getRegexStarHeight(pattern) >= 2) {
32
+ throw new errors_1.UserInputError('error.regex-filter-pattern-unsafe');
33
+ }
34
+ }
35
+ /**
36
+ * Computes the "star height" of a regex pattern: the deepest nesting of *amplifying*
37
+ * quantifiers (those that can match 2+ times — `*`, `+`, `{n,}`, `{n,m}` with max >= 2).
38
+ * A value >= 2 means an amplifying quantifier is applied to a sub-expression that itself
39
+ * contains one (e.g. `(a+)+`), which is the structure responsible for exponential
40
+ * backtracking. Bounded quantifiers (`?`, `{0,1}`, `{1}`) do not amplify.
41
+ *
42
+ * Escaped characters and character classes are treated as single atoms so their contents
43
+ * are never mistaken for grouping or quantifier syntax.
44
+ */
45
+ function getRegexStarHeight(pattern) {
46
+ // Each frame records whether the group at that nesting level already contains an
47
+ // amplifying quantifier. Index 0 is the implicit top-level group.
48
+ const stack = [{ hasAmplifier: false }];
49
+ let maxHeight = 0;
50
+ let i = 0;
51
+ const n = pattern.length;
52
+ while (i < n) {
53
+ const char = pattern[i];
54
+ if (char === '(') {
55
+ stack.push({ hasAmplifier: false });
56
+ i = skipGroupPrefix(pattern, i + 1);
57
+ continue;
58
+ }
59
+ if (char === ')') {
60
+ const frame = stack.length > 1 ? stack.pop() : stack[0];
61
+ const quantifier = readQuantifier(pattern, i + 1);
62
+ i = quantifier.present ? quantifier.next : i + 1;
63
+ const parent = stack[stack.length - 1];
64
+ if (quantifier.amplifying) {
65
+ // The group is repeated by an amplifying quantifier, so it is itself an
66
+ // amplifier in the parent's body. If the group also contains one, that is
67
+ // amplifier-over-amplifier: star height >= 2.
68
+ parent.hasAmplifier = true;
69
+ maxHeight = Math.max(maxHeight, frame.hasAmplifier ? 2 : 1);
70
+ }
71
+ else if (frame.hasAmplifier) {
72
+ // Grouping is transparent to star height: an amplifier inside an
73
+ // unquantified group still counts as an amplifier in the parent's body.
74
+ parent.hasAmplifier = true;
75
+ }
76
+ continue;
77
+ }
78
+ // Otherwise the current position starts an atom (escaped char, character class,
79
+ // or single literal/metacharacter) which may be followed by a quantifier.
80
+ if (char === '\\') {
81
+ i += 2;
82
+ }
83
+ else if (char === '[') {
84
+ i = skipCharacterClass(pattern, i);
85
+ }
86
+ else {
87
+ i += 1;
88
+ }
89
+ const quantifier = readQuantifier(pattern, i);
90
+ if (quantifier.present) {
91
+ i = quantifier.next;
92
+ if (quantifier.amplifying) {
93
+ stack[stack.length - 1].hasAmplifier = true;
94
+ maxHeight = Math.max(maxHeight, 1);
95
+ }
96
+ }
97
+ }
98
+ return maxHeight;
99
+ }
100
+ /**
101
+ * Skips a group-opening prefix immediately after a `(`, handling non-capturing groups
102
+ * `(?:`, lookaheads `(?=` / `(?!`, lookbehinds `(?<=` / `(?<!` and named groups `(?<name>`.
103
+ * Returns the index of the first character of the group's body.
104
+ */
105
+ function skipGroupPrefix(pattern, i) {
106
+ if (pattern[i] !== '?') {
107
+ return i;
108
+ }
109
+ i++; // skip '?'
110
+ const char = pattern[i];
111
+ if (char === ':' || char === '=' || char === '!') {
112
+ return i + 1;
113
+ }
114
+ if (char === '<') {
115
+ i++;
116
+ if (pattern[i] === '=' || pattern[i] === '!') {
117
+ return i + 1; // lookbehind
118
+ }
119
+ // named group: skip to the closing '>'
120
+ while (i < pattern.length && pattern[i] !== '>') {
121
+ i++;
122
+ }
123
+ return i < pattern.length ? i + 1 : i;
124
+ }
125
+ return i;
126
+ }
127
+ /**
128
+ * Skips a character class `[...]` starting at `i` (which must point at `[`), accounting
129
+ * for an initial `^`/`]` and escaped characters. Returns the index after the closing `]`.
130
+ */
131
+ function skipCharacterClass(pattern, i) {
132
+ let j = i + 1;
133
+ if (pattern[j] === '^') {
134
+ j++;
135
+ }
136
+ if (pattern[j] === ']') {
137
+ j++; // a `]` as the first member is a literal
138
+ }
139
+ while (j < pattern.length && pattern[j] !== ']') {
140
+ if (pattern[j] === '\\') {
141
+ j++;
142
+ }
143
+ j++;
144
+ }
145
+ return j < pattern.length ? j + 1 : j;
146
+ }
147
+ /**
148
+ * Reads a quantifier at position `i`, if present. `amplifying` is true when the quantifier
149
+ * can match two or more times (`*`, `+`, `{n,}`, `{n,m}` with max >= 2) and false for
150
+ * bounded-to-one quantifiers (`?`, `{0,1}`, `{1}`). A trailing lazy `?` is consumed.
151
+ */
152
+ function readQuantifier(pattern, i) {
153
+ const char = pattern[i];
154
+ if (char === '*' || char === '+') {
155
+ const next = pattern[i + 1] === '?' ? i + 2 : i + 1;
156
+ return { present: true, amplifying: true, next };
157
+ }
158
+ if (char === '?') {
159
+ const next = pattern[i + 1] === '?' ? i + 2 : i + 1;
160
+ return { present: true, amplifying: false, next };
161
+ }
162
+ if (char === '{') {
163
+ const match = /^\{(\d*)(,(\d*))?\}/.exec(pattern.slice(i));
164
+ if (match) {
165
+ const min = match[1] === '' ? 0 : parseInt(match[1], 10);
166
+ const hasComma = match[2] !== undefined;
167
+ const max = !hasComma ? min : match[3] === '' ? Infinity : parseInt(match[3], 10);
168
+ let next = i + match[0].length;
169
+ if (pattern[next] === '?') {
170
+ next++;
171
+ }
172
+ return { present: true, amplifying: max >= 2, next };
173
+ }
174
+ }
175
+ return { present: false, amplifying: false, next: i };
176
+ }
177
+ //# sourceMappingURL=validate-regex-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-regex-filter.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/validate-regex-filter.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,13 @@ export declare class AssetService {
115
115
  * Check if current user has permissions to delete assets from all channels
116
116
  */
117
117
  private hasDeletePermissionForChannels;
118
+ /**
119
+ * Validates an upload against the permitted MIME types using three independently spoofable
120
+ * signals (see GHSA-88rq-mq4v-frmm): the declared Content-Type, the file extension, and the
121
+ * actual content (magic bytes). Returns a {@link MimeTypeError} if any signal identifies a
122
+ * non-permitted type, or `undefined` if the file is permitted.
123
+ */
124
+ private getPermittedMimeTypeError;
118
125
  private createAssetInternal;
119
126
  private getSourceFileName;
120
127
  private getPreviewFileName;
@@ -51,6 +51,71 @@ const patch_entity_1 = require("../helpers/utils/patch-entity");
51
51
  const channel_service_1 = require("./channel.service");
52
52
  const role_service_1 = require("./role.service");
53
53
  const tag_service_1 = require("./tag.service");
54
+ /**
55
+ * Detects the MIME type of a buffer from its magic bytes. Returns `undefined` for content
56
+ * with no recognisable signature (e.g. plain text, SVG). The `file-type` package is ESM-only,
57
+ * so it is loaded via dynamic import (preserved by the NodeNext build).
58
+ */
59
+ async function detectMimeTypeFromContents(buffer) {
60
+ const { fileTypeFromBuffer } = await import('file-type');
61
+ const result = await fileTypeFromBuffer(buffer);
62
+ return result === null || result === void 0 ? void 0 : result.mime;
63
+ }
64
+ /**
65
+ * The number of leading bytes to inspect for magic-byte detection. Signatures live at the
66
+ * start of a file and `file-type` samples only a small prefix, so peeking this much is
67
+ * sufficient to identify the content type without buffering the whole upload.
68
+ */
69
+ const CONTENT_DETECTION_SAMPLE_BYTES = 4100;
70
+ /**
71
+ * Reads up to `byteCount` leading bytes from a stream for inspection so the uploaded content
72
+ * can be validated before it is persisted. Returns the peeked bytes and whether the stream was
73
+ * fully consumed in the process (`complete`):
74
+ *
75
+ * - If the stream ended within `byteCount` (a small file), the whole content is in `head` and
76
+ * the caller writes it directly — the stream cannot be replayed.
77
+ * - Otherwise the peeked bytes are unshifted back onto the stream, so the caller can write the
78
+ * full original stream (preserving its error handling) without buffering it whole.
79
+ *
80
+ * The stream is read in paused mode because a `for await … break` would destroy it.
81
+ */
82
+ function peekStreamHead(stream, byteCount) {
83
+ return new Promise((resolve, reject) => {
84
+ const chunks = [];
85
+ let size = 0;
86
+ const cleanup = () => {
87
+ stream.removeListener('readable', onReadable);
88
+ stream.removeListener('end', onEnd);
89
+ stream.removeListener('error', onError);
90
+ };
91
+ const onEnd = () => {
92
+ cleanup();
93
+ resolve({ head: Buffer.concat(chunks), complete: true });
94
+ };
95
+ const onError = (err) => {
96
+ cleanup();
97
+ reject(err);
98
+ };
99
+ const onReadable = () => {
100
+ let chunk;
101
+ // eslint-disable-next-line no-cond-assign
102
+ while ((chunk = stream.read()) !== null) {
103
+ chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
104
+ size += chunks[chunks.length - 1].length;
105
+ if (size >= byteCount) {
106
+ cleanup();
107
+ const head = Buffer.concat(chunks);
108
+ stream.unshift(head);
109
+ resolve({ head, complete: false });
110
+ return;
111
+ }
112
+ }
113
+ };
114
+ stream.on('readable', onReadable);
115
+ stream.on('end', onEnd);
116
+ stream.on('error', onError);
117
+ });
118
+ }
54
119
  /**
55
120
  * @description
56
121
  * Contains methods relating to {@link Asset} entities.
@@ -431,15 +496,62 @@ let AssetService = class AssetService {
431
496
  }));
432
497
  return !permissions.includes(false);
433
498
  }
499
+ /**
500
+ * Validates an upload against the permitted MIME types using three independently spoofable
501
+ * signals (see GHSA-88rq-mq4v-frmm): the declared Content-Type, the file extension, and the
502
+ * actual content (magic bytes). Returns a {@link MimeTypeError} if any signal identifies a
503
+ * non-permitted type, or `undefined` if the file is permitted.
504
+ */
505
+ getPermittedMimeTypeError(filename, declaredMimeType, contentMimeType) {
506
+ // 1. The declared Content-Type must be permitted (cheap, header-only check).
507
+ if (!this.validateMimeType(declaredMimeType)) {
508
+ return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: declaredMimeType });
509
+ }
510
+ // 2. The file extension must be permitted: the stored file keeps it, and it is what
511
+ // determines whether a downstream web server might execute the file (e.g. `.php`).
512
+ // `mime.lookup` returns `false` for unrecognised extensions, handled by the content check.
513
+ const extensionMimeType = mime_types_1.default.lookup(filename) || undefined;
514
+ if (extensionMimeType && !this.validateMimeType(extensionMimeType)) {
515
+ return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: extensionMimeType });
516
+ }
517
+ // 3. The actual content must not identify a non-permitted type. Text-based formats have no
518
+ // binary signature: plain text yields `undefined`, while XML-based formats such as SVG
519
+ // yield a generic `application/xml`/`text/xml` which is consistent with a permitted `*+xml`
520
+ // extension and so is not a mismatch.
521
+ if (contentMimeType && !this.validateMimeType(contentMimeType)) {
522
+ const contentIsGenericXml = contentMimeType === 'application/xml' || contentMimeType === 'text/xml';
523
+ const extensionIsXmlBased = !!extensionMimeType && extensionMimeType.endsWith('+xml');
524
+ if (!(contentIsGenericXml && extensionIsXmlBased)) {
525
+ return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: contentMimeType });
526
+ }
527
+ }
528
+ // A file recognised neither by content nor by a permitted extension cannot be verified as
529
+ // a permitted type (e.g. a script with an unrecognised extension such as `.phtml`).
530
+ if (!contentMimeType && !extensionMimeType) {
531
+ return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: 'application/octet-stream' });
532
+ }
533
+ return undefined;
534
+ }
434
535
  async createAssetInternal(ctx, stream, filename, mimetype, customFields, translations) {
435
536
  const { assetOptions } = this.configService;
436
- if (!this.validateMimeType(mimetype)) {
437
- return new generated_graphql_admin_errors_1.MimeTypeError({ fileName: filename, mimeType: mimetype });
537
+ // Inspect the leading bytes of the uploaded content (magic bytes) so the real content
538
+ // type can be validated, not just the spoofable declared Content-Type and extension. The
539
+ // stream is peeked rather than fully buffered so the file can still be written as a stream.
540
+ const { head, complete } = await peekStreamHead(stream, CONTENT_DETECTION_SAMPLE_BYTES);
541
+ const contentMimeType = await detectMimeTypeFromContents(head);
542
+ const mimeTypeError = this.getPermittedMimeTypeError(filename, mimetype, contentMimeType);
543
+ if (mimeTypeError) {
544
+ return mimeTypeError;
438
545
  }
439
546
  const { assetPreviewStrategy, assetStorageStrategy } = assetOptions;
440
547
  const sourceFileName = await this.getSourceFileName(ctx, filename);
441
548
  const previewFileName = await this.getPreviewFileName(ctx, sourceFileName);
442
- const sourceFileIdentifier = await assetStorageStrategy.writeFileFromStream(sourceFileName, stream);
549
+ // If the stream was fully consumed during the peek (a small file), `head` holds the
550
+ // whole content and the stream cannot be replayed; write the buffer directly.
551
+ // Otherwise the peeked bytes were unshifted back, so write the full stream.
552
+ const sourceFileIdentifier = complete
553
+ ? await assetStorageStrategy.writeFileFromBuffer(sourceFileName, head)
554
+ : await assetStorageStrategy.writeFileFromStream(sourceFileName, stream);
443
555
  const sourceFile = await assetStorageStrategy.readFileToBuffer(sourceFileIdentifier);
444
556
  let preview;
445
557
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"asset.service.js","sourceRoot":"","sources":["../../../src/service/services/asset.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset.service.js","sourceRoot":"","sources":["../../../src/service/services/asset.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/core",
3
- "version": "3.6.5-master-202606290309",
3
+ "version": "3.6.5-master-202607010309",
4
4
  "description": "A modern, headless ecommerce framework",
5
5
  "repository": {
6
6
  "type": "git",
@@ -49,7 +49,7 @@
49
49
  "@nestjs/platform-express": "^11.0.12",
50
50
  "@nestjs/terminus": "^11.0.0",
51
51
  "@nestjs/typeorm": "^11.0.0",
52
- "@vendure/common": "^3.6.5-master-202606290309",
52
+ "@vendure/common": "^3.6.5-master-202607010309",
53
53
  "bcrypt": "^6.0.0",
54
54
  "body-parser": "^1.20.2",
55
55
  "cookie-session": "^2.1.0",
@@ -58,6 +58,7 @@
58
58
  "cronstrue": "^3.14.0",
59
59
  "csv-parse": "^6.2.1",
60
60
  "express": "^5.1.0",
61
+ "file-type": "^19.0.0",
61
62
  "fs-extra": "^11.2.0",
62
63
  "graphql": "^16.11.0",
63
64
  "graphql-fields": "^2.0.3",