@nimee/wallet-generator 1.0.0 → 1.0.1

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.
@@ -65,9 +65,11 @@ function resolveField(key, data) {
65
65
  return data.seat ? { label: 'Seat', value: data.seat } : undefined;
66
66
  case 'order':
67
67
  case 'orderNumber':
68
+ case 'order_number':
68
69
  return data.orderNumber ? { label: 'Order', value: data.orderNumber } : undefined;
69
70
  case 'subtitle':
70
71
  case 'passSubtitle':
72
+ case 'ticket_type':
71
73
  return data.passSubtitle ? { label: 'Ticket', value: data.passSubtitle } : undefined;
72
74
  case 'plan_name':
73
75
  return data.passTitle ? { label: 'Plan', value: data.passTitle } : undefined;
@@ -155,10 +157,10 @@ class ApplePassGenerator {
155
157
  const cleanup = () => {
156
158
  clearTimeout(timer);
157
159
  worker.removeAllListeners();
160
+ worker.terminate();
158
161
  };
159
162
  const timer = setTimeout(() => {
160
163
  cleanup();
161
- worker.terminate();
162
164
  reject(new Error(`[ApplePassGenerator] worker timed out after ${workerTimeoutMs}ms`));
163
165
  }, workerTimeoutMs);
164
166
  worker.on('message', (msg) => {
@@ -166,6 +168,9 @@ class ApplePassGenerator {
166
168
  if (msg === null || msg === void 0 ? void 0 : msg.error) {
167
169
  reject(new Error(msg.error));
168
170
  }
171
+ else if (!(msg instanceof Uint8Array)) {
172
+ reject(new Error('[ApplePassGenerator] invalid worker payload'));
173
+ }
169
174
  else {
170
175
  resolve(Buffer.from(msg));
171
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ApplePassGenerator.js","sourceRoot":"","sources":["../../src/apple/ApplePassGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplePassGenerator.js","sourceRoot":"","sources":["../../src/apple/ApplePassGenerator.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@ export declare class GooglePassGenerator {
25
25
  generateSaveUrl(data: IWalletPassData, config: IGoogleWalletConfig): Promise<string>;
26
26
  /**
27
27
  * PATCHes the Google Wallet object state (ACTIVE | EXPIRED | INACTIVE).
28
- * Never throwsswallows all errors and logs a warning instead.
28
+ * Silently no-ops on 404 (pass was never created expected when user never added to wallet).
29
+ * Throws on all other errors so callers can log/alert on real failures.
29
30
  */
30
31
  updateObjectState(rawObjectId: string, config: IGoogleWalletConfig, state: 'ACTIVE' | 'EXPIRED' | 'INACTIVE'): Promise<void>;
31
32
  }
@@ -79,14 +79,16 @@ class GooglePassGenerator {
79
79
  }
80
80
  /**
81
81
  * PATCHes the Google Wallet object state (ACTIVE | EXPIRED | INACTIVE).
82
- * Never throwsswallows all errors and logs a warning instead.
82
+ * Silently no-ops on 404 (pass was never created expected when user never added to wallet).
83
+ * Throws on all other errors so callers can log/alert on real failures.
83
84
  */
84
85
  updateObjectState(rawObjectId, config, state) {
86
+ var _a;
85
87
  return __awaiter(this, void 0, void 0, function* () {
88
+ const accessToken = yield (0, googleAuth_1.getGoogleAccessToken)(config);
89
+ const encodedId = encodeURIComponent(rawObjectId);
90
+ const url = `https://walletobjects.googleapis.com/walletobjects/v1/eventTicketObject/${encodedId}`;
86
91
  try {
87
- const accessToken = yield (0, googleAuth_1.getGoogleAccessToken)(config);
88
- const encodedId = encodeURIComponent(rawObjectId);
89
- const url = `https://walletobjects.googleapis.com/walletobjects/v1/eventTicketObject/${encodedId}`;
90
92
  yield axios_1.default.patch(url, { state }, {
91
93
  headers: { Authorization: `Bearer ${accessToken}` },
92
94
  timeout: 5000,
@@ -94,7 +96,11 @@ class GooglePassGenerator {
94
96
  logger_1.default.info(`[GooglePassGenerator] object ${rawObjectId} state updated to ${state}`);
95
97
  }
96
98
  catch (err) {
97
- logger_1.default.warn(`[GooglePassGenerator] failed to update object state for ${rawObjectId} ${state}: ${err instanceof Error ? err.message : String(err)}`);
99
+ if (((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
100
+ // Pass object doesn't exist — user never added to Google Wallet, nothing to invalidate
101
+ return;
102
+ }
103
+ throw err;
98
104
  }
99
105
  });
100
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePassGenerator.js","sourceRoot":"","sources":["../../src/google/GooglePassGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gEAA+B;AAC/B,2DAAmC;AAEnC,6CAAsG;AAEtG,MAAa,mBAAmB;IAC9B;;;OAGG;IACK,YAAY,CAAC,IAAqB,EAAE,MAA2B;QACrE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC;QACnD,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACW,WAAW,CAAC,OAAe,EAAE,IAAqB,EAAE,MAA2B;;YAC3F,8EAA8E;YAC9E,kEAAkE;YAClE,MAAM,eAAe,mCAA6B,MAAM,KAAE,OAAO,GAAE,CAAC;YACpE,MAAM,IAAA,oCAAuB,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;KAAA;IAED;;;OAGG;IACK,WAAW,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAqB;QAC1E,OAAO,IAAA,oCAAuB,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,YAAoB,EAAE,MAA2B;QAC/D,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,MAAM,CAAC,mBAAmB;YAC/B,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,EAAc;YACvB,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE;gBACP,kBAAkB,EAAE,CAAC,YAAY,CAAC;aACnC;SACF,CAAC;QAEF,OAAO,sBAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACG,eAAe,CAAC,IAAqB,EAAE,MAA2B;;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEhD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAE9C,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YACzF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAEjD,gBAAM,CAAC,IAAI,CAAC,yDAAyD,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtF,OAAO,oCAAoC,KAAK,EAAE,CAAC;QACrD,CAAC;KAAA;IAED;;;OAGG;IACG,iBAAiB,CACrB,WAAmB,EACnB,MAA2B,EAC3B,KAAwC;;YAExC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,2EAA2E,SAAS,EAAE,CAAC;gBAEnG,MAAM,eAAK,CAAC,KAAK,CACf,GAAG,EACH,EAAE,KAAK,EAAE,EACT;oBACE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;oBACnD,OAAO,EAAE,IAAI;iBACd,CACF,CAAC;gBAEF,gBAAM,CAAC,IAAI,CAAC,gCAAgC,WAAW,qBAAqB,KAAK,EAAE,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gBAAM,CAAC,IAAI,CACT,2DAA2D,WAAW,MAAM,KAAK,KAC/E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF;AAjGD,kDAiGC"}
1
+ {"version":3,"file":"GooglePassGenerator.js","sourceRoot":"","sources":["../../src/google/GooglePassGenerator.ts"],"names":[],"mappings":"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"}
@@ -82,8 +82,8 @@ function buildGoogleTicketObject(objectId, classId, data) {
82
82
  const dateDisplay = data.dateDisplay;
83
83
  return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ id: objectId, classId, state: data.isCheckedIn ? "COMPLETED" : "ACTIVE", ticketHolderName: data.holderName, issueName: data.marketplaceName || "", ticketNumber: data.orderNumber || "" }, (data.logoUrl && { logo: { sourceUri: { uri: data.logoUrl } } })), { barcode: Object.assign({ type: "QR_CODE", value: data.qrContent }, (data.orderNumber && { alternateText: data.orderNumber })), eventName: {
84
84
  defaultValue: { language: "en-US", value: data.passTitle || "" },
85
- } }), (data.backgroundColorHex && { hexBackgroundColor: data.backgroundColorHex })), ((data.seat) && {
86
- seatInfo: Object.assign({}, (data.seat && { seat: { defaultValue: { language: "en-US", value: data.seat } } })),
85
+ } }), (data.backgroundColorHex && { hexBackgroundColor: data.backgroundColorHex })), ((data.seat || data.seatRow) && {
86
+ seatInfo: Object.assign(Object.assign({}, (data.seat && { seat: { defaultValue: { language: "en-US", value: data.seat } } })), (data.seatRow && { row: { defaultValue: { language: "en-US", value: data.seatRow } } })),
87
87
  })), { textModulesData: [
88
88
  { header: "TICKET", body: data.passSubtitle || data.passTitle || "" },
89
89
  ...(dateDisplay ? [{ header: "DATE", body: dateDisplay }] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"googleAuth.js","sourceRoot":"","sources":["../../src/google/googleAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"googleAuth.js","sourceRoot":"","sources":["../../src/google/googleAuth.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -15,6 +38,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
38
  exports.resizeImageBuffer = exports.downloadImageBuffer = exports.isAllowedImageUrl = exports.WEBP_WEBP = exports.WEBP_RIFF = exports.JPEG_MAGIC = exports.PNG_MAGIC = exports.IMAGE_MAX_SIZE = void 0;
16
39
  const axios_1 = __importDefault(require("axios"));
17
40
  const sharp_1 = __importDefault(require("sharp"));
41
+ const dns = __importStar(require("dns"));
42
+ const net = __importStar(require("net"));
18
43
  // ─── Image validation constants ───────────────────────────────────────────────
19
44
  exports.IMAGE_MAX_SIZE = 5 * 1024 * 1024; // 5 MB
20
45
  exports.PNG_MAGIC = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
@@ -42,6 +67,33 @@ function isAllowedImageUrl(url, allowedHosts) {
42
67
  return allowedHosts.some((host) => parsed.hostname === host || parsed.hostname.endsWith(`.${host}`));
43
68
  }
44
69
  exports.isAllowedImageUrl = isAllowedImageUrl;
70
+ // ─── SSRF guard ───────────────────────────────────────────────────────────────
71
+ function isPrivateIp(ip) {
72
+ if (net.isIPv6(ip)) {
73
+ // loopback, link-local, unique-local
74
+ return ip === '::1' || /^fe80:/i.test(ip) || /^f[cd]/i.test(ip);
75
+ }
76
+ // RFC1918, loopback, link-local (169.254.x.x = AWS metadata service)
77
+ return (/^10\./.test(ip) ||
78
+ /^172\.(1[6-9]|2\d|3[01])\./.test(ip) ||
79
+ /^192\.168\./.test(ip) ||
80
+ /^127\./.test(ip) ||
81
+ /^169\.254\./.test(ip) ||
82
+ /^0\./.test(ip));
83
+ }
84
+ /** Resolves the hostname and returns true if any resolved address is private. */
85
+ function resolvesToPrivateIp(hostname) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ try {
88
+ const addresses = yield dns.promises.resolve(hostname);
89
+ return addresses.some(isPrivateIp);
90
+ }
91
+ catch (_a) {
92
+ // DNS failure → treat as unsafe to avoid SSRF via unresolvable names
93
+ return true;
94
+ }
95
+ });
96
+ }
45
97
  // ─── Image download ───────────────────────────────────────────────────────────
46
98
  /**
47
99
  * Downloads an image from a URL, validates it, and returns its buffer.
@@ -52,11 +104,16 @@ function downloadImageBuffer(url, allowedHosts, timeoutMs = 10000) {
52
104
  return __awaiter(this, void 0, void 0, function* () {
53
105
  if (!isAllowedImageUrl(url, allowedHosts))
54
106
  return undefined;
107
+ // Guard against DNS rebinding: block if the hostname resolves to a private IP
108
+ const { hostname } = new URL(url);
109
+ if (yield resolvesToPrivateIp(hostname))
110
+ return undefined;
55
111
  try {
56
112
  const response = yield axios_1.default.get(url, {
57
113
  responseType: 'arraybuffer',
58
114
  timeout: timeoutMs,
59
115
  maxContentLength: exports.IMAGE_MAX_SIZE,
116
+ maxRedirects: 0,
60
117
  });
61
118
  const buffer = Buffer.from(response.data);
62
119
  if (buffer.length > exports.IMAGE_MAX_SIZE)
@@ -1 +1 @@
1
- {"version":3,"file":"imageHelpers.js","sourceRoot":"","sources":["../../src/helpers/imageHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imageHelpers.js","sourceRoot":"","sources":["../../src/helpers/imageHelpers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -21,6 +21,7 @@ export interface IWalletPassData {
21
21
  startDate?: Date;
22
22
  endDate?: Date;
23
23
  seat?: string;
24
+ seatRow?: string;
24
25
  orderNumber?: string;
25
26
  /** True when the QR code has already been scanned/used. Affects Google pass state. */
26
27
  isCheckedIn?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimee/wallet-generator",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Apple Wallet and Google Wallet pass generation for Nimi services",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -62,9 +62,11 @@ function resolveField(
62
62
  return data.seat ? { label: 'Seat', value: data.seat } : undefined;
63
63
  case 'order':
64
64
  case 'orderNumber':
65
+ case 'order_number':
65
66
  return data.orderNumber ? { label: 'Order', value: data.orderNumber } : undefined;
66
67
  case 'subtitle':
67
68
  case 'passSubtitle':
69
+ case 'ticket_type':
68
70
  return data.passSubtitle ? { label: 'Ticket', value: data.passSubtitle } : undefined;
69
71
  case 'plan_name':
70
72
  return data.passTitle ? { label: 'Plan', value: data.passTitle } : undefined;
@@ -182,11 +184,11 @@ export class ApplePassGenerator {
182
184
  const cleanup = () => {
183
185
  clearTimeout(timer);
184
186
  worker.removeAllListeners();
187
+ worker.terminate();
185
188
  };
186
189
 
187
190
  const timer = setTimeout(() => {
188
191
  cleanup();
189
- worker.terminate();
190
192
  reject(new Error(`[ApplePassGenerator] worker timed out after ${workerTimeoutMs}ms`));
191
193
  }, workerTimeoutMs);
192
194
 
@@ -194,6 +196,8 @@ export class ApplePassGenerator {
194
196
  cleanup();
195
197
  if (msg?.error) {
196
198
  reject(new Error(msg.error));
199
+ } else if (!(msg instanceof Uint8Array)) {
200
+ reject(new Error('[ApplePassGenerator] invalid worker payload'));
197
201
  } else {
198
202
  resolve(Buffer.from(msg));
199
203
  }
@@ -71,18 +71,19 @@ export class GooglePassGenerator {
71
71
 
72
72
  /**
73
73
  * PATCHes the Google Wallet object state (ACTIVE | EXPIRED | INACTIVE).
74
- * Never throwsswallows all errors and logs a warning instead.
74
+ * Silently no-ops on 404 (pass was never created expected when user never added to wallet).
75
+ * Throws on all other errors so callers can log/alert on real failures.
75
76
  */
76
77
  async updateObjectState(
77
78
  rawObjectId: string,
78
79
  config: IGoogleWalletConfig,
79
80
  state: 'ACTIVE' | 'EXPIRED' | 'INACTIVE'
80
81
  ): Promise<void> {
81
- try {
82
- const accessToken = await getGoogleAccessToken(config);
83
- const encodedId = encodeURIComponent(rawObjectId);
84
- const url = `https://walletobjects.googleapis.com/walletobjects/v1/eventTicketObject/${encodedId}`;
82
+ const accessToken = await getGoogleAccessToken(config);
83
+ const encodedId = encodeURIComponent(rawObjectId);
84
+ const url = `https://walletobjects.googleapis.com/walletobjects/v1/eventTicketObject/${encodedId}`;
85
85
 
86
+ try {
86
87
  await axios.patch(
87
88
  url,
88
89
  { state },
@@ -91,14 +92,13 @@ export class GooglePassGenerator {
91
92
  timeout: 5000,
92
93
  }
93
94
  );
94
-
95
95
  logger.info(`[GooglePassGenerator] object ${rawObjectId} state updated to ${state}`);
96
- } catch (err) {
97
- logger.warn(
98
- `[GooglePassGenerator] failed to update object state for ${rawObjectId} ${state}: ${
99
- err instanceof Error ? err.message : String(err)
100
- }`
101
- );
96
+ } catch (err: any) {
97
+ if (err?.response?.status === 404) {
98
+ // Pass object doesn't exist user never added to Google Wallet, nothing to invalidate
99
+ return;
100
+ }
101
+ throw err;
102
102
  }
103
103
  }
104
104
  }
@@ -104,9 +104,10 @@ export function buildGoogleTicketObject(objectId: string, classId: string, data:
104
104
  defaultValue: { language: "en-US", value: data.passTitle || "" },
105
105
  },
106
106
  ...(data.backgroundColorHex && { hexBackgroundColor: data.backgroundColorHex }),
107
- ...((data.seat) && {
107
+ ...((data.seat || data.seatRow) && {
108
108
  seatInfo: {
109
109
  ...(data.seat && { seat: { defaultValue: { language: "en-US", value: data.seat } } }),
110
+ ...(data.seatRow && { row: { defaultValue: { language: "en-US", value: data.seatRow } } }),
110
111
  },
111
112
  }),
112
113
  textModulesData: [
@@ -1,5 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import sharp from 'sharp';
3
+ import * as dns from 'dns';
4
+ import * as net from 'net';
3
5
 
4
6
  // ─── Image validation constants ───────────────────────────────────────────────
5
7
 
@@ -30,6 +32,35 @@ export function isAllowedImageUrl(url: string, allowedHosts: string[]): boolean
30
32
  return allowedHosts.some((host) => parsed.hostname === host || parsed.hostname.endsWith(`.${host}`));
31
33
  }
32
34
 
35
+ // ─── SSRF guard ───────────────────────────────────────────────────────────────
36
+
37
+ function isPrivateIp(ip: string): boolean {
38
+ if (net.isIPv6(ip)) {
39
+ // loopback, link-local, unique-local
40
+ return ip === '::1' || /^fe80:/i.test(ip) || /^f[cd]/i.test(ip);
41
+ }
42
+ // RFC1918, loopback, link-local (169.254.x.x = AWS metadata service)
43
+ return (
44
+ /^10\./.test(ip) ||
45
+ /^172\.(1[6-9]|2\d|3[01])\./.test(ip) ||
46
+ /^192\.168\./.test(ip) ||
47
+ /^127\./.test(ip) ||
48
+ /^169\.254\./.test(ip) ||
49
+ /^0\./.test(ip)
50
+ );
51
+ }
52
+
53
+ /** Resolves the hostname and returns true if any resolved address is private. */
54
+ async function resolvesToPrivateIp(hostname: string): Promise<boolean> {
55
+ try {
56
+ const addresses = await dns.promises.resolve(hostname);
57
+ return addresses.some(isPrivateIp);
58
+ } catch {
59
+ // DNS failure → treat as unsafe to avoid SSRF via unresolvable names
60
+ return true;
61
+ }
62
+ }
63
+
33
64
  // ─── Image download ───────────────────────────────────────────────────────────
34
65
 
35
66
  /**
@@ -44,11 +75,16 @@ export async function downloadImageBuffer(
44
75
  ): Promise<Buffer | undefined> {
45
76
  if (!isAllowedImageUrl(url, allowedHosts)) return undefined;
46
77
 
78
+ // Guard against DNS rebinding: block if the hostname resolves to a private IP
79
+ const { hostname } = new URL(url);
80
+ if (await resolvesToPrivateIp(hostname)) return undefined;
81
+
47
82
  try {
48
83
  const response = await axios.get<Buffer>(url, {
49
84
  responseType: 'arraybuffer',
50
85
  timeout: timeoutMs,
51
86
  maxContentLength: IMAGE_MAX_SIZE,
87
+ maxRedirects: 0,
52
88
  });
53
89
 
54
90
  const buffer = Buffer.from(response.data);
package/src/types.ts CHANGED
@@ -22,6 +22,7 @@ export interface IWalletPassData {
22
22
  startDate?: Date;
23
23
  endDate?: Date;
24
24
  seat?: string;
25
+ seatRow?: string;
25
26
  orderNumber?: string;
26
27
  /** True when the QR code has already been scanned/used. Affects Google pass state. */
27
28
  isCheckedIn?: boolean;