@newrelic/preflight 1.4.23 → 1.4.25
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.
- package/dist/proxy/otlp-receiver.d.ts +1 -0
- package/dist/proxy/otlp-receiver.d.ts.map +1 -1
- package/dist/proxy/otlp-receiver.js +59 -18
- package/dist/proxy/otlp-receiver.js.map +1 -1
- package/dist/proxy/upstream-http.d.ts.map +1 -1
- package/dist/proxy/upstream-http.js +9 -7
- package/dist/proxy/upstream-http.js.map +1 -1
- package/dist/proxy/upstream-stdio.d.ts.map +1 -1
- package/dist/proxy/upstream-stdio.js +4 -1
- package/dist/proxy/upstream-stdio.js.map +1 -1
- package/dist/security/ssrf.d.ts +19 -0
- package/dist/security/ssrf.d.ts.map +1 -1
- package/dist/security/ssrf.js +49 -0
- package/dist/security/ssrf.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-receiver.d.ts","sourceRoot":"","sources":["../../src/proxy/otlp-receiver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"otlp-receiver.d.ts","sourceRoot":"","sources":["../../src/proxy/otlp-receiver.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAI3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;gBAE1C,OAAO,EAAE,mBAAmB;IAUxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUP,aAAa;IA+F3B,OAAO,CAAC,QAAQ;IA2EhB,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,gBAAgB;IAUxB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAcnC,OAAO,CAAC,wBAAwB;YAqBlB,OAAO;CA+BtB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createServer } from 'node:http';
|
|
2
2
|
import { createGunzip, createInflate, createBrotliDecompress } from 'node:zlib';
|
|
3
3
|
import { timingSafeEqual } from 'node:crypto';
|
|
4
|
+
import { Agent } from 'undici';
|
|
4
5
|
import { createLogger } from '../shared/index.js';
|
|
5
|
-
import { validateSsrfUrl } from '../security/ssrf.js';
|
|
6
|
+
import { validateSsrfUrl, createSsrfSafeLookup } from '../security/ssrf.js';
|
|
6
7
|
const logger = createLogger('otlp-receiver');
|
|
7
8
|
const DEFAULT_MAX_BODY_BYTES = 10 * 1024 * 1024; // 10 MiB
|
|
8
9
|
const DEFAULT_BODY_TIMEOUT_MS = 30_000; // 30 s
|
|
@@ -27,9 +28,16 @@ export class OtlpReceiver {
|
|
|
27
28
|
options;
|
|
28
29
|
server = null;
|
|
29
30
|
rateLimiter = new Map();
|
|
31
|
+
// Built once and reused for every forward() call. Its connect.lookup resolves and
|
|
32
|
+
// validates the address actually connected to — see createSsrfSafeLookup()'s doc
|
|
33
|
+
// comment. undefined when forwarding is disabled (nothing to protect).
|
|
34
|
+
forwardDispatcher;
|
|
30
35
|
constructor(options) {
|
|
31
36
|
if (options.forwardEndpoint !== null) {
|
|
32
37
|
validateSsrfUrl('OtlpReceiver forwardEndpoint', new URL(options.forwardEndpoint));
|
|
38
|
+
this.forwardDispatcher = new Agent({
|
|
39
|
+
connect: { lookup: createSsrfSafeLookup('OtlpReceiver forward endpoint (resolved)') },
|
|
40
|
+
});
|
|
33
41
|
}
|
|
34
42
|
this.options = Object.freeze(options);
|
|
35
43
|
}
|
|
@@ -225,13 +233,32 @@ export class OtlpReceiver {
|
|
|
225
233
|
// No API key configured — authentication is optional
|
|
226
234
|
return;
|
|
227
235
|
}
|
|
228
|
-
const authHeader = req.headers.authorization;
|
|
236
|
+
const authHeader = req.headers.authorization ?? '';
|
|
229
237
|
const expectedAuth = `Bearer ${this.options.apiKey}`;
|
|
230
|
-
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
238
|
+
const actual = Buffer.from(authHeader, 'utf8');
|
|
239
|
+
const expected = Buffer.from(expectedAuth, 'utf8');
|
|
240
|
+
// A prior version compared authHeader.length === expectedAuth.length as a
|
|
241
|
+
// short-circuit before timingSafeEqual, leaking the correct credential's
|
|
242
|
+
// length via response timing. A later version closed that by hashing
|
|
243
|
+
// both sides first — but any digest of a credential-shaped value (hash
|
|
244
|
+
// or HMAC) reads to static analysis as password-at-rest hashing, which
|
|
245
|
+
// needs a slow KDF; that requirement doesn't apply here (nothing is
|
|
246
|
+
// stored, so there's no offline brute-forcing surface), yet there's no
|
|
247
|
+
// way to convey that distinction to the scanner. The actual fix is to
|
|
248
|
+
// never compute a digest at all: run timingSafeEqual unconditionally
|
|
249
|
+
// over two same-length buffers every time. lengthsMatch is a plain
|
|
250
|
+
// integer comparison (O(1), not data-dependent) and decides only which
|
|
251
|
+
// value gets copied — expected on the match path, actual on the
|
|
252
|
+
// mismatch path — so BOTH paths always do exactly one Buffer.from() copy
|
|
253
|
+
// plus one timingSafeEqual call, of a buffer sized to whatever length
|
|
254
|
+
// the caller's own guess happened to be. There's no branch that skips
|
|
255
|
+
// the copy on the match path, so cost as a function of the guess's
|
|
256
|
+
// length has no discontinuity at the point where it happens to equal
|
|
257
|
+
// the secret's length — which is what actually needs to not leak.
|
|
258
|
+
const lengthsMatch = actual.length === expected.length;
|
|
259
|
+
const comparisonTarget = lengthsMatch ? Buffer.from(expected) : Buffer.from(actual);
|
|
260
|
+
const contentMatches = timingSafeEqual(actual, comparisonTarget);
|
|
261
|
+
if (!lengthsMatch || !contentMatches) {
|
|
235
262
|
throw new AuthenticationError('Invalid or missing authentication');
|
|
236
263
|
}
|
|
237
264
|
}
|
|
@@ -239,22 +266,29 @@ export class OtlpReceiver {
|
|
|
239
266
|
const rateLimitPerMinute = this.options.rateLimitPerMinute ?? DEFAULT_RATE_LIMIT_PER_MINUTE;
|
|
240
267
|
const remoteAddr = req.socket.remoteAddress ?? 'unknown';
|
|
241
268
|
const now = Date.now();
|
|
242
|
-
// Get
|
|
243
|
-
|
|
244
|
-
if (!timestamps) {
|
|
245
|
-
timestamps = [];
|
|
246
|
-
this.rateLimiter.set(remoteAddr, timestamps);
|
|
247
|
-
}
|
|
269
|
+
// Get request history for this IP, if any.
|
|
270
|
+
const timestamps = this.rateLimiter.get(remoteAddr) ?? [];
|
|
248
271
|
// Prune timestamps older than the rate limit window.
|
|
249
272
|
while (timestamps.length > 0 && timestamps[0] < now - RATE_LIMIT_WINDOW_MS) {
|
|
250
273
|
timestamps.shift();
|
|
251
274
|
}
|
|
252
|
-
// Check if rate limit exceeded
|
|
275
|
+
// Check if rate limit exceeded. Every distinct source IP that ever makes
|
|
276
|
+
// one request would otherwise leave a permanent (if empty) entry in
|
|
277
|
+
// this.rateLimiter for the process lifetime — delete rather than
|
|
278
|
+
// re-insert an empty array before throwing, so a rejected/aged-out IP
|
|
279
|
+
// doesn't occupy a Map slot forever.
|
|
253
280
|
if (timestamps.length >= rateLimitPerMinute) {
|
|
281
|
+
if (timestamps.length === 0) {
|
|
282
|
+
this.rateLimiter.delete(remoteAddr);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
this.rateLimiter.set(remoteAddr, timestamps);
|
|
286
|
+
}
|
|
254
287
|
throw new RateLimitExceededError(`Rate limit exceeded: ${rateLimitPerMinute} requests per minute`);
|
|
255
288
|
}
|
|
256
|
-
// Record this request
|
|
289
|
+
// Record this request and store the (now non-empty) array.
|
|
257
290
|
timestamps.push(now);
|
|
291
|
+
this.rateLimiter.set(remoteAddr, timestamps);
|
|
258
292
|
}
|
|
259
293
|
checkContentType(req) {
|
|
260
294
|
const contentType = req.headers['content-type']?.split(';')[0]?.trim() ??
|
|
@@ -299,19 +333,26 @@ export class OtlpReceiver {
|
|
|
299
333
|
if (this.options.forwardEndpoint === null) {
|
|
300
334
|
throw new Error('forward() called with no forwardEndpoint configured');
|
|
301
335
|
}
|
|
302
|
-
validateSsrfUrl('OtlpReceiver forward endpoint', new URL(this.options.forwardEndpoint));
|
|
303
336
|
const url = `${this.options.forwardEndpoint}${path}`;
|
|
304
337
|
// SECURITY: client request headers are deliberately NOT propagated to upstream — only forwardHeaders + Content-Type.
|
|
305
338
|
// This prevents header injection attacks where a malicious client could inject headers into the upstream NR API call.
|
|
306
339
|
// Do not change without security review.
|
|
307
|
-
|
|
340
|
+
//
|
|
341
|
+
// The dispatcher's connect.lookup (set in the constructor) is what actually
|
|
342
|
+
// enforces SSRF protection here — resolving and validating the address this
|
|
343
|
+
// fetch connects to, not just the hostname string. Do not add back a
|
|
344
|
+
// validateSsrfUrl(...) call on the string here; re-checking the same
|
|
345
|
+
// unvalidated string provides no real protection against DNS rebinding.
|
|
346
|
+
const init = {
|
|
308
347
|
method: 'POST',
|
|
309
348
|
headers: {
|
|
310
349
|
'Content-Type': contentType,
|
|
311
350
|
...this.options.forwardHeaders,
|
|
312
351
|
},
|
|
313
352
|
body: body,
|
|
314
|
-
|
|
353
|
+
dispatcher: this.forwardDispatcher,
|
|
354
|
+
};
|
|
355
|
+
const response = await globalThis.fetch(url, init);
|
|
315
356
|
const responseBody = await response.text();
|
|
316
357
|
return { statusCode: response.status, body: responseBody };
|
|
317
358
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlp-receiver.js","sourceRoot":"","sources":["../../src/proxy/otlp-receiver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"otlp-receiver.js","sourceRoot":"","sources":["../../src/proxy/otlp-receiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-http.d.ts","sourceRoot":"","sources":["../../src/proxy/upstream-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA0B,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAE9F,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB/E,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,KAAK,SAAK;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAIjG;AAMD,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAG,MAAM,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;gBAEhC,MAAM,EAAE,cAAc;IAa5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"upstream-http.d.ts","sourceRoot":"","sources":["../../src/proxy/upstream-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA0B,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAE9F,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB/E,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,KAAK,SAAK;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAIjG;AAMD,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAG,MAAM,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;gBAEhC,MAAM,EAAE,cAAc;IAa5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAmK/F"}
|
|
@@ -11,7 +11,7 @@ import { Transform } from 'node:stream';
|
|
|
11
11
|
import { performance } from 'node:perf_hooks';
|
|
12
12
|
import { createLogger } from '../shared/index.js';
|
|
13
13
|
import { shouldForwardHeader } from './types.js';
|
|
14
|
-
import { validateSsrfUrl } from '../security/ssrf.js';
|
|
14
|
+
import { validateSsrfUrl, createSsrfSafeLookup } from '../security/ssrf.js';
|
|
15
15
|
const logger = createLogger('proxy-http');
|
|
16
16
|
// Hop-by-hop headers that must never be forwarded between proxy and client.
|
|
17
17
|
const HOP_BY_HOP_HEADERS = new Set([
|
|
@@ -63,10 +63,6 @@ export class HttpUpstream {
|
|
|
63
63
|
}
|
|
64
64
|
async forward(req, res, body) {
|
|
65
65
|
const requestFn = this.url.protocol === 'https:' ? httpsRequest : httpRequest;
|
|
66
|
-
// Re-validate URL against SSRF rules immediately before fetch to prevent DNS rebinding
|
|
67
|
-
if (!this.allowPrivateHosts) {
|
|
68
|
-
validateSsrfUrl(`HttpUpstream "${this.name}" (pre-fetch)`, this.url);
|
|
69
|
-
}
|
|
70
66
|
// Build forwarded headers
|
|
71
67
|
const headers = {};
|
|
72
68
|
if (req.headers) {
|
|
@@ -85,6 +81,12 @@ export class HttpUpstream {
|
|
|
85
81
|
method: req.method ?? 'POST',
|
|
86
82
|
headers,
|
|
87
83
|
timeout: this.timeoutMs,
|
|
84
|
+
// Resolves and validates the address actually connected to — not just the
|
|
85
|
+
// hostname string — closing the gap a same-string re-check (removed above)
|
|
86
|
+
// could not close. See createSsrfSafeLookup()'s doc comment for why.
|
|
87
|
+
...(this.allowPrivateHosts
|
|
88
|
+
? {}
|
|
89
|
+
: { lookup: createSsrfSafeLookup(`HttpUpstream "${this.name}" (resolved)`) }),
|
|
88
90
|
}, (upstreamRes) => {
|
|
89
91
|
const upstreamLatencyMs = performance.now() - start;
|
|
90
92
|
const statusCode = upstreamRes.statusCode ?? 502;
|
|
@@ -166,7 +168,7 @@ export class HttpUpstream {
|
|
|
166
168
|
// Write 502 rather than re-using the upstream's statusCode (which may
|
|
167
169
|
// be 200) — that would fool callers into treating an error body as success.
|
|
168
170
|
res.writeHead(502, { 'content-type': 'application/json' });
|
|
169
|
-
res.end(JSON.stringify({ error: 'upstream_error'
|
|
171
|
+
res.end(JSON.stringify({ error: 'upstream_error' }));
|
|
170
172
|
}
|
|
171
173
|
resolve({
|
|
172
174
|
statusCode,
|
|
@@ -187,7 +189,7 @@ export class HttpUpstream {
|
|
|
187
189
|
res.writeHead(502, { 'content-type': 'application/json' });
|
|
188
190
|
}
|
|
189
191
|
if (!res.writableEnded) {
|
|
190
|
-
res.end(JSON.stringify({ error: 'upstream_unavailable'
|
|
192
|
+
res.end(JSON.stringify({ error: 'upstream_unavailable' }));
|
|
191
193
|
}
|
|
192
194
|
resolve({
|
|
193
195
|
statusCode: 502,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-http.js","sourceRoot":"","sources":["../../src/proxy/upstream-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,IAAI,WAAW,EAA6C,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"upstream-http.js","sourceRoot":"","sources":["../../src/proxy/upstream-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-stdio.d.ts","sourceRoot":"","sources":["../../src/proxy/upstream-stdio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY/E,eAAO,MAAM,kBAAkB,aAM7B,CAAC;AAEH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAmBpC;AAMD,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,OAAO,GACxB,IAAI,CAQN;AAuED,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAG,OAAO,CAAU;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,cAAc;IAQ5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC3B,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"upstream-stdio.d.ts","sourceRoot":"","sources":["../../src/proxy/upstream-stdio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY/E,eAAO,MAAM,kBAAkB,aAM7B,CAAC;AAEH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAmBpC;AAMD,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,OAAO,GACxB,IAAI,CAQN;AAuED,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAG,OAAO,CAAU;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,cAAc;IAQ5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC3B,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAyDjF,gBAAgB;CAiD/B"}
|
|
@@ -205,7 +205,10 @@ export class StdioUpstream {
|
|
|
205
205
|
method: rpc.method,
|
|
206
206
|
error: message,
|
|
207
207
|
});
|
|
208
|
-
|
|
208
|
+
// -32603 is JSON-RPC's standard "Internal error" code — reuse its own name as the
|
|
209
|
+
// generic client-facing message. The real detail (child-process error text, which
|
|
210
|
+
// may contain file paths or tool-echoed arguments) stays in the logger call above.
|
|
211
|
+
const size = writeJsonRpcError(res, rpc.id, -32603, 'Internal error');
|
|
209
212
|
return {
|
|
210
213
|
statusCode: 500,
|
|
211
214
|
isStreaming: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-stdio.js","sourceRoot":"","sources":["../../src/proxy/upstream-stdio.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"upstream-stdio.js","sourceRoot":"","sources":["../../src/proxy/upstream-stdio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAE3C,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,mFAAmF;AACnF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,YAAY;IACZ,iBAAiB;IACjB,uBAAuB;IACvB,mBAAmB;IACnB,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CACzB,GAAuC,EACvC,YAAoB;IAEpB,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,kBAAkB,YAAY,gCAAgC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,UAAU,eAAe,CAC7B,YAAoB,EACpB,OAAe,EACf,gBAAyB;IAEzB,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,eAAe,OAAO,6BAA6B;YAC/E,sDAAsD;YACtD,iFAAiF,CACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAanC,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAY,CAAC;QAC7D,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,QAAQ,IAAI,MAAM;YAClB,OAAQ,MAAkC,CAAC,MAAM,KAAK,QAAQ,EAC9D,CAAC;YACD,OAAO,MAAwB,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAmB,EACnB,EAA+B,EAC/B,MAAe;IAEf,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,kBAAkB;QAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAClD,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAmB,EACnB,EAA+B,EAC/B,IAAY,EACZ,OAAe;IAEf,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,EAAE,IAAI,IAAI;QACd,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE;QACxB,cAAc,EAAE,kBAAkB;QAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAClD,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,OAAO,aAAa;IACf,IAAI,CAAS;IACb,aAAa,GAAG,OAAgB,CAAC;IAClC,MAAM,GAAkB,IAAI,CAAC;IAC7B,SAAS,GAAgC,IAAI,CAAC;IACrC,MAAM,CAAiB;IAExC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAQ,CAAC;QACrC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC;QAE3E,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3F,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,CAAC;YACxC,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;YAC5C,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3E,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5F,wEAAwE;QACxE,uCAAuC;QACvC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;YAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CACT,mBAAmB,IAAI,CAAC,IAAI,sDAAsD,CACnF,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,SAAS,GAAyC,IAAI,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,MAAM,CAAC,KAAK,EAAE;gBACd,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAC7C,qBAAqB,CACtB,CAAC;oBACF,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,SAAS,KAAK,IAAI;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,SAAS,KAAK,IAAI;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CACT,mBAAmB,IAAI,CAAC,IAAI,2BAA2B,qBAAqB,4BAA4B,CACzG,CAAC;YACF,yEAAyE;YACzE,2EAA2E;YAC3E,yEAAyE;YACzE,sBAAsB;YACtB,MAAM,SAAS,GAAI,SAAgD,CAAC,UAAU,CACjC,CAAC;YAC9C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,GAAmB,EAAE,IAAY;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;YACjF,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,KAAK;gBAClB,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;YACxF,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,KAAK;gBAClB,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACpD,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAEvD,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,KAAK;gBAClB,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB;aAClB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACpD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YAEH,kFAAkF;YAClF,kFAAkF;YAClF,mFAAmF;YACnF,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YACtE,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,KAAK;gBAClB,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,GAAmB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAEhC,sEAAsE;QACtE,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,CAAC,GAAG,UAAU,CAClB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,mBAAmB,IAAI,CAAC,CAAC,EAChF,mBAAmB,CACpB,CAAC;YACF,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,eAAiC,CAAC;QACtC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,MAA+C,CAAC,CAAC;gBACnF,MAAM;YACR,KAAK,YAAY;gBACf,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,MAAgD,CAAC,CAAC;gBACrF,MAAM;YACR,KAAK,gBAAgB;gBACnB,eAAe,GAAG,MAAM,CAAC,aAAa,CACpC,MAAoD,CACrD,CAAC;gBACF,MAAM;YACR,KAAK,gBAAgB;gBACnB,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,MAAmD,CAAC,CAAC;gBAC3F,MAAM;YACR,KAAK,MAAM;gBACT,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM;YACR,KAAK,YAAY;gBACf,gFAAgF;gBAChF,OAAO;oBACL,eAAe,EAAE,YAAY;oBAC7B,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE;oBAClD,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;iBAC/E,CAAC;YACJ;gBACE,eAAe,GAAG,MAAM,CAAC,OAAO,CAC9B,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAA0C,EACtE,CAAC,CAAC,GAAG,EAAE,CACR,CAAC;QACN,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
|
package/dist/security/ssrf.d.ts
CHANGED
|
@@ -1,2 +1,21 @@
|
|
|
1
|
+
import type { LookupFunction } from 'node:net';
|
|
1
2
|
export declare function validateSsrfUrl(label: string, url: URL): void;
|
|
3
|
+
/**
|
|
4
|
+
* Builds a drop-in replacement for the `lookup` option accepted by
|
|
5
|
+
* `http.request`/`https.request` (`node:net`'s `LookupFunction` type) and by
|
|
6
|
+
* `undici`'s `Agent`'s `connect.lookup` option. Resolves the hostname exactly
|
|
7
|
+
* once via `dns.lookup()`, validates every resolved address against the same
|
|
8
|
+
* rules `validateSsrfUrl` applies to literal hostnames, and only then hands
|
|
9
|
+
* the address(es) back to the caller — which then opens its TCP/TLS
|
|
10
|
+
* connection to exactly that address, with no further DNS resolution of its
|
|
11
|
+
* own. This is what actually closes the DNS-rebinding gap: checking a
|
|
12
|
+
* hostname string and later letting the OS resolve it again independently
|
|
13
|
+
* leaves a window for the DNS record to change between the two steps.
|
|
14
|
+
*
|
|
15
|
+
* Both known callers (node:http's internals and undici's connector) invoke
|
|
16
|
+
* a custom lookup with `options.all: true`, expecting an address array back
|
|
17
|
+
* — confirmed empirically. This still honors `options.all: false` for
|
|
18
|
+
* correctness against any other caller of the `LookupFunction` contract.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createSsrfSafeLookup(label: string): LookupFunction;
|
|
2
21
|
//# sourceMappingURL=ssrf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssrf.d.ts","sourceRoot":"","sources":["../../src/security/ssrf.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ssrf.d.ts","sourceRoot":"","sources":["../../src/security/ssrf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA8G/C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAqC7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAgClE"}
|
package/dist/security/ssrf.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { lookup as dnsLookup } from 'node:dns';
|
|
1
2
|
const ALLOWED_SCHEMES = new Set(['http:', 'https:']);
|
|
2
3
|
// Cloud metadata service FQDNs that resolve to internal addresses within cloud accounts.
|
|
3
4
|
// Blocking these prevents SSRF attacks from exfiltrating cloud credentials.
|
|
@@ -123,4 +124,52 @@ export function validateSsrfUrl(label, url) {
|
|
|
123
124
|
throw new Error(`${label}: host "${url.hostname}" contains a private or loopback IPv4 address`);
|
|
124
125
|
}
|
|
125
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Builds a drop-in replacement for the `lookup` option accepted by
|
|
129
|
+
* `http.request`/`https.request` (`node:net`'s `LookupFunction` type) and by
|
|
130
|
+
* `undici`'s `Agent`'s `connect.lookup` option. Resolves the hostname exactly
|
|
131
|
+
* once via `dns.lookup()`, validates every resolved address against the same
|
|
132
|
+
* rules `validateSsrfUrl` applies to literal hostnames, and only then hands
|
|
133
|
+
* the address(es) back to the caller — which then opens its TCP/TLS
|
|
134
|
+
* connection to exactly that address, with no further DNS resolution of its
|
|
135
|
+
* own. This is what actually closes the DNS-rebinding gap: checking a
|
|
136
|
+
* hostname string and later letting the OS resolve it again independently
|
|
137
|
+
* leaves a window for the DNS record to change between the two steps.
|
|
138
|
+
*
|
|
139
|
+
* Both known callers (node:http's internals and undici's connector) invoke
|
|
140
|
+
* a custom lookup with `options.all: true`, expecting an address array back
|
|
141
|
+
* — confirmed empirically. This still honors `options.all: false` for
|
|
142
|
+
* correctness against any other caller of the `LookupFunction` contract.
|
|
143
|
+
*/
|
|
144
|
+
export function createSsrfSafeLookup(label) {
|
|
145
|
+
return (hostname, options, callback) => {
|
|
146
|
+
dnsLookup(hostname, { family: options.family, hints: options.hints, all: true }, (err, addresses) => {
|
|
147
|
+
if (err) {
|
|
148
|
+
callback(err, '');
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (addresses.length === 0) {
|
|
152
|
+
callback(new Error(`${label}: DNS lookup for "${hostname}" returned no addresses`), '');
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
for (const { address, family } of addresses) {
|
|
156
|
+
const hostForCheck = family === 6 ? `[${address}]` : address;
|
|
157
|
+
try {
|
|
158
|
+
validateSsrfUrl(label, new URL(`http://${hostForCheck}`));
|
|
159
|
+
}
|
|
160
|
+
catch (validationErr) {
|
|
161
|
+
callback(validationErr, '');
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (options.all) {
|
|
166
|
+
callback(null, addresses);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const chosen = addresses[0];
|
|
170
|
+
callback(null, chosen.address, chosen.family);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
}
|
|
126
175
|
//# sourceMappingURL=ssrf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssrf.js","sourceRoot":"","sources":["../../src/security/ssrf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ssrf.js","sourceRoot":"","sources":["../../src/security/ssrf.ts"],"names":[],"mappings":"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"}
|